javascript - 一种用 Webpack 循环 HTMLWebpackPlugin 的干净方法?

标签 javascript webpack-4 html-webpack-plugin

我正在使用带有 HTMLWebPackPlugin 的 Webpack 4。我目前正在处理近 30 个不同的页面,并且正在向前推进。这是我在代码中的示例...

        new HTMLWebpackPlugin({
            template: './src/game11/index.html',
            mViewPort: 'width=device-width, initial-scale=1.0',
            favicon: './src/game11/media/favicon-16x16.png',
            title: 'Game 11 Training',
            filename: 'game11.htm',
            chunks: ['game11']
        }),
        new HTMLWebpackPlugin({
            template: './src/game12/index.html',
            mViewPort: 'width=device-width, initial-scale=1.0',
            favicon: './src/game12/media/favicon-16x16.png',
            title: 'Game 12 Training',
            filename: 'game12.htm',
            chunks: ['game12']
        }),

到目前为止,我的 webpack.config.js 文件中有 30 个。但我更愿意做这样的事情......
 ['game11','game12','something-else','etc'].forEach((event) => {
       new HtmlWebpackPlugin({
           template: './src/${event}/index.html',
           mViewPort: 'width=device-width, initial-scale=1.0',
           favicon: './src/${event}/media/favicon-16x16.png',
           title: '${event} Training',
           filename: '${event}.htm',
           chunks: ['${event}']
       }),
   }),

上面的代码不起作用,它只是一个草图。但是今天是否可以在不添加额外插件或修改我的输出的情况下做类似的事情?我只是想添加将在其自身中创建一个新实例的数组值。

非常感谢!

最佳答案

按照您在问题上建议的相同逻辑,您可以使用 map而不是 forEach像这样构建插件数组:

webpack.config.js

{
  plugins: [
    new MiniCSSExtractPlugin(),
    ...['game11', 'game12', 'something-else', 'etc'].map((event) => {
      return new HtmlWebpackPlugin({
        template: `./src/${event}/index.html`,
        mViewPort: `width=device-width, initial-scale=1.0`,
        favicon: `./src/${event}/media/favicon-16x16.png`,
        title: `${event} Training`,
        filename: `${event}.htm`,
        chunks: [`${event}`]
      })
    })
  ]
}

关于javascript - 一种用 Webpack 循环 HTMLWebpackPlugin 的干净方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746383/

相关文章:

javascript - Webpack 4 错误地渲染选择元素

reactjs - Webpack gzip 包 - 未捕获的语法错误 : Unexpected token <

javascript - webpack 将除 index.html 之外的所有内容构建到子文件夹中

webpack - 如何使用 HtmlWebpackPlugin 将 CSS 文件添加到索引

javascript - 'memory leak'是什么?这是性能问题还是安全问题?

javascript - 如果javascript中出现循环,如何处理firebase ref?

php - 仅需要为注册成员(member)显示证书(图像)的功能

javascript - 如何使用 ROUND HALF UP 四舍五入。我们大多数人在小学时被教授的舍入模式

typescript - Webpack 4 - typescript 入口文件

javascript - 在模板中使用动态变量将 nunjucks 与 htmlWebpackPlugin 一起使用