我正在使用ES6导入并使用Rollup进行转换。
输出是一个捆绑文件。
可以将Rollup配置为生成文件换文件转换结果吗?
这是我正在使用的当前配置,显然会吐出一个文件。
gulp.task('rollup', function() {
const rollup = require('rollup');
const nodeResolve = require('rollup-plugin-node-resolve');
const JS_INDEX_FILE = 'src/index.js';
return rollup.rollup({
input: JS_INDEX_FILE,
plugins: [
nodeResolve({
browser: true
})
]
}).then(bundle => {
bundle.write({
sourcemap: true,
format: 'cjs',
strict: true,
file: 'bundle.js'
});
});
});
基本上,我希望使用require()
代替import
的单个文件。
答案 0 :(得分:1)
Rollup是一个模块 bundler 。你想要的是一个编译器,比如Babel。
答案 1 :(得分:0)
如果您想使用 rollup 将 ES6 转换为 CommonJS 并保留文件和目录结构,您的 rollup 配置可能如下所示:
import { nodeResolve } from "@rollup/plugin-node-resolve";
export default [
{
input: ["src/index.js"],
plugins: [nodeResolve()],
output: [
{
dir: "dist",
format: "cjs",
exports: "named",
preserveModules: true, // Keep directory structure and files
}
]
}
]
请参阅 Integrating Rollup with Other Tools 以确定您是否需要 @rollup/plugin-node-resolve
插件以及从外部包中“保留”的确切内容。