Webpack输出资源内容到html文件
需求来源
对于小的项目或者单文件的网页,我们将css文件和js文件可以直接内联插入到html中,可以实现单文件部署(使用场景:例如在一些可视化编辑器上直接粘贴生成的html代码就可以运行了);当然比较大的项目我们可以注入一些公共的样式和js文件的到html中;
我们使用html-webpack-plugin的插件
https://github.com/DustinJackson/html-webpack-inline-source-plugin
使用方法
首先安装内联文件的插件:
npm install --save-dev html-webpack-inline-source-plugin
修改webpack配置:
const HtmlWebpackInlineSourcePlugin = require('html-webpack-inline-source-plugin’);
// 注意插件的参数是加在HtmlWebpackPlugin上的,不是插件上的
module.export = {
plugins: [
new HtmlWebpackPlugin({
// 这里我会注入所有的css和js到html中,也可以根据需求修改正则,只注入部分文件
inlineSource: '.(js|css)$'
}),
new HtmlWebpackInlineSourcePlugin()
]
};
注意
- 这里如果要注入css内容,还是需要使用插件(mini-css-extract-plugin)先将css文件抽离才可以注入到html文件中的。
- 因为这个插件是基于html-webpack-plugin,所以,html-webpack-plugin是必须要使用的,否则会报错。
参考链接
- https://github.com/DustinJackson/html-webpack-inline-source-plugin
- https://github.com/jantimon/html-webpack-plugin