以下是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.js
,options.html
,如下所示:
<script type="text/javascript" src="js/background.js"></script><script type="text/javascript" src="js/options.js"></script></body>
有没有办法将它限制为只有一个JS文件或指定要在html页面中注入的文件名?
答案 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()
]