webpack4.0(02.本地服务和html-webpack-plugin插件)
1.webpack的初始配置
可以利用哈希来随随机生成生成名字不同的打包文件,以防止多次打包生成文件的覆盖
let path = require(‘path‘) // 相对路径变绝对路径 module.exports = { mode: ‘production‘, // 模式 默认 production development entry: ‘./src/index‘, // 入口 output: { filename: ‘bundle.[hash:8].js‘, // hash: 8只显示8位 path: path.resolve(__dirname, ‘dist‘), publicPath: ‘‘ // // 给所有打包文件引入时加前缀,包括css,js,img,如果只想处理图片可以单独在url-loader配置中加publicPath } }
2.开启本地服务
webpack-dev-server主要是启动了一个使用express的Http服务器。它的作用主要是用来伺服资源文件。此外这个Http服务器和client使用了websocket通讯协议,原始文件作出改动后,webpack-dev-server会实时的编译,但是最后的编译的文件并没有输出到目标文件夹,而是在内存中。
npm i webpack-dev-server -D
devServer: { port: 3000, progress: true // 滚动条 contentBase: ‘./build‘ // 起服务的地址 open: true // 自动打开浏览器 compress: true // gzip压缩 }
之后可以在package.json中配置脚本,来快捷启动命令
3.复制html
上边我们需要手动引入打包后的js页面与html文件中,才可以看到效果,
但其实我们可以配置插件,来完成打包后的自动引入如下:
npm i html-webpack-plugin -D
let HtmlWebpackPlugin = require(‘html-webpack-plugin‘) plugins: [ // 放着所有webpack插件 new HtmlWebpackPlugin({ // 用于使用模板打包时生成index.html文件,并且在run dev时会将模板文件也打包到内存中 template: ‘./index.html‘, // 模板文件 filename: ‘index.html‘, // 打包后生成文件 hash: true, // 添加hash值解决缓存问题 minify: { // 对打包的html模板进行压缩 removeAttributeQuotes: true, // 删除属性双引号 collapseWhitespace: true // 折叠空行变成一行 } }) ]
相关推荐
yqoxygen 2020-06-02
不知道该写啥QAQ 2020-11-12
webfullStack 2020-11-09
Yvettre 2020-09-15
想做大牛的蜗牛 2020-10-30
gloria0 2020-10-26
gaojie0 2020-09-11
SelinaChan 2020-08-14
不知道该写啥QAQ 2020-08-09
gloria0 2020-08-09
不知道该写啥QAQ 2020-08-02
hline 2020-07-29
SelinaChan 2020-07-28
wangdianyong 2020-07-23
webpackvuees 2020-07-23
yqoxygen 2020-07-20
不知道该写啥QAQ 2020-07-18
waterv 2020-07-18