webpack配置多页面,js代码可以注入html,但不生效的解决方法

webpack配置多页面,js代码可以注入html,但不生效,多是因为打包出的html文件中没有正确引入js。

网上查了很多资料,没发现实际有用的方法,只能升级html-webpack-plugin版本,还算顺利,能够解决该问题。

已测试可以正确打包多页面的版本:

"html-webpack-plugin": "^5.5.0",

记录下实际经历,之前用的一套旧版本:

// pakage.json

"webpack": "^4.30.0",
"webpack-cli": "^3.3.1",
"webpack-dev-server": "^3.3.1",
"html-webpack-plugin": "^3.2.0",

HtmlWebpackPlugin关键配置chunks,如果不填,则会把所有js文件注入html,这对于单页面项目(spa)没有影响。

对于多页面项目,打包出来的文件只包含chunks指定的包,漏掉了引入的其他文件。

//  webpack.config.js
 
   plugins: [
        new HtmlWebpackPlugin({
            filename: 'index.html',
            template: 'src/index.html',
            inject: true,
            chunks: ['main', 'vendor']
        }),
        new HtmlWebpackPlugin({
            filename: 'list.html',
            template: 'src/list.html',
            inject: true,
            title: '列表',
            chunks: ['list', 'vendor']
        }),
       // ...
    ]

(版权归cpury.com所有,转载请注明出处。)