Webpack - 不要为特定入口点输出捆绑包

9

我使用file-loader将一堆pug模板自动渲染为静态html文件,但是webpack还会基于入口点输出一个无意义的文件。

例如,在我的webpack.config.js中:

entry: {
    'js/build/bundle.js': './js/app.js',
    'this-shouldnt-emit': './pug/.pug.js' //pug entry point
},

output: {
    path: path.join(__dirname, '../'),
    filename: '[name]'
},

...
// pug loading module rule
        {
            test: /\.pug$/,
            include: path.resolve(__dirname, "../pug"),
            use: [
                "file-loader?name=[path][name].html&context=./pug",
                "pug-html-loader?pretty&exports=false"
            ]
        }

我正在获取一个this-shouldnt-emit捆绑文件,它位于根构建目录中,但我不想要它。

如何阻止文件加载器发出输出捆绑包,但不干扰它生成当前所有静态html文件。是否有插件或某种空加载器可以放在加载器链的末尾以停止捆绑发射?


简单的方法是在构建后将其删除。 - Petr Averyanov
1个回答

1
我不确定你真正想问什么,但如果你想将多个文件包含在一个捆绑包中,请使用数组。在filename: '[name].bundle.js中使用[name]的整个意义是为了多个条目。这对于一个条目键不是必需的(但可选)。

这将创建两个捆绑文件。

entry: {
   BUNDLE_KEY_ONE: 'path/file.js',
   BUNDLE_KEY_TWO: 'path/otherFile.js',
}

这是如何将多个文件打包成一个捆绑包。
entry: {
   SINGLE_BUNDLE_NAME: ['file/one.js', 'file/two.js']
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接