htmlWebpackPlugin只为生成的html

时间:2018-06-12 20:42:26

标签: plugins webpack-2 html-webpack-plugin

以下是webpack配置条目:

entry:{
    background: './app/main/background.js',
    options: './app/main/options.js'
}

一个HTML页面,提供给htmlwebpackplugin,如下所示

new HtmlWebpackPlugin({
    template :'./app/templates/options.html',
    // chunks : ['jquery','angular','app'],
    filename: "./options.html",
    cache : true
}),

这会导致在background.js页面中同时注入options.jsoptions.html,如下所示:

 <script type="text/javascript" src="js/background.js"></script><script type="text/javascript" src="js/options.js"></script></body>

有没有办法将它限制为只有一个JS文件或指定要在html页面中注入的文件名?

2 个答案:

答案 0 :(得分:7)

您可能要使用chunks选项(请参阅文档的filtering chunks section)。我不知道为什么在您的代码段中对此进行了评论,但是您可以这样写:

entry: {
    background: './app/main/background.js',
    options: './app/main/options.js'
}

如果只想在生成的HTML中注入options入口点,请指定块:

new HtmlWebpackPlugin({
    template :'./app/templates/options.html',
    chunks : ['options'],
    filename: "./options.html",
    cache : true
}),

答案 1 :(得分:2)

似乎您可以使用html-webpack-exclude-assets-plugin

plugins: [
  new HtmlWebpackPlugin({
    excludeAssets: [/style.*.js/] // exclude style.js or style.[chunkhash].js 
  }),
  new HtmlWebpackExcludeAssetsPlugin()
]