我目前正在研究使用 manifest.json 或 manifest.js 作为此构建的条目,因为此文件是选项 HTML 应用程序、浏览器内容脚本、icon.png 等之间的连接
CleanWebpackPlugin 和 HtmlWebpackPlugin 都给我带来了很多问题,似乎使用加载器可能是正确、纯粹、同步的方法
My current inspiration 使用简单的module.exports 和arguments[0] source from the previous loader 轻松转换源
我确实想出了一个破解(不可维护)的解决方案来删除未使用的文件,这可能对某人有用。
webpack.config.js
module.exports = {
name: 'manifest',
entry: {
manifest: './src/manifest.json',
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'DELETED.js',
},
plugins: [
new CopyWebpackPlugin({
patterns: [
{from: './src/manifest.json'},
{from: './assets/images/icon.png'},
],
}),
new RemoveFilesWebpackPlugin({
before: {
log: false,
include: [
'dist',
],
},
after: {
log: false,
include: [
'dist/DELETED.js',
],
},
}),
],
mode: 'none',
}
这个想法的问题是manifest.json 没有被用来收集它自己的资产——资产是在这个捆绑器的配置中声明的。
我还有两个额外的 webpack.config.js 文件用于
- 使用
HtmlWebpackPlugin生成一个HTML选项页面
- 捆绑主脚本
但如前所述,维护需要挖掘构建文件,而不仅仅是编辑源代码并需要相对路径