rollup多入口的公共部分怎样才能不提取成单独文件?-灵析社区

皮皮踢

如何将多入口共同引用过的文件中的内容分别写进各入口内部,而不是作为一个单独文件输出? 比如: // util.js export function fun(){}; // a.js import { fun } from './util.js' fun(); function a(){}; a(); // b.js import { fun } from './util.js' fun(); function b(){}; b(); 希望生成: // a-bundle.js function fun(){}; // 来自 util function a(){}; // 来自 a.js 自身 fun(); a(); // b-bundle.js function fun(){}; // 来自 util function b(){}; // 来自 b.js 自身 fun(); b(); // util.js // 不要了

阅读量:260

点赞量:16

问AI
用 Rollup 的 manualChunks 选项来自定义 chunk 的创建就行,把util.js 的内容直接嵌入到每个入口文件的 bundle 里 rollup.config.js: import resolve from '@rollup/plugin-node-resolve'; export default [ { input: 'src/a.js', output: { file: 'output/a-bundle.js', format: 'esm', inlineDynamicImports: true, }, plugins: [resolve()], }, { input: 'src/b.js', output: { file: 'output/b-bundle.js', format: 'esm', inlineDynamicImports: true, }, plugins: [resolve()], }, ]; 要先安装: npm install @rollup/plugin-node-resolve 运行: rollup -c