【问题标题】:Webpack - dont output a bundle for a certain entry pointWebpack - 不要为某个入口点输出包
【发布时间】:2017-07-11 14:21:05
【问题描述】:

我使用文件加载器自动将一堆 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 文件。是否有一个插件或某种空加载器我可以放在加载器链的末尾来终止捆绑发射?

【问题讨论】:

  • 简单的方法是在构建后删除它)

标签: javascript node.js webpack pug-loader


【解决方案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']
}

【讨论】:

    猜你喜欢
    • 2017-08-31
    • 2016-01-07
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多