使用Rollup输出多个文件

问题描述 投票:0回答:3

我正在使用 Rollup 来捆绑我的生产代码。
我有多个 js 文件,因此我使用 Rollup

plugin-multi-entry
插件来使用 glob 模式来定位我的所有 js 文件。
我以
umd
格式输出文件。

目前它们作为一个 js 文件输出,捆绑在一起,这是预期的行为,但我也想将它们全部单独输出,转换为 es5 和 umd 格式,但不连接到一个 js 捆绑文件中,我该怎么做?

当前设置:

import babel from "rollup-plugin-babel";
import { terser } from "rollup-plugin-terser";
import multi from "@rollup/plugin-multi-entry";
import gzipPlugin from "rollup-plugin-gzip";

export default [{
    input: "src/**/*.logic.js",
    output: {
        dir: "build/assets/js",
        format: "umd",
        name: "Logic"
    },
    plugins: [
        gzipPlugin(),
        multi({
            exports: true
        }),
        babel({
            exclude: "node_modules/**"
        })
    ]
}]
javascript ecmascript-6 babeljs rollup
3个回答
9
投票

https://rollupjs.org/guide/en/#configuration-files

这是一个例子:

export default [
  {
    input: 'main-a.js',
    output: {
      file: 'dist/bundle-a.js',
      format: 'cjs'
    }
  },
  {
    input: 'main-b.js',
    output: [
      {
        file: 'dist/bundle-b1.js',
        format: 'cjs'
      },
      {
        file: 'dist/bundle-b2.js',
        format: 'es'
      }
    ]
  }
];

0
投票

您应该可以使用 Rollup 来做到这一点,无需任何插件。

查看他们文档中的代码分割部分


0
投票

如果您想要多个构建,请拥有多个 vite 配置文件并运行

vite build -c different.config.js

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.