如下所示,设置了webpack-dev-server后修改html代码页面无法更新,网上搜了一大堆说什么需要设置hot和inline发现都不行,最后发现是因为在package.json中配置了 browserslist字段,删了就可以了。
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { resolve } = require('path');
module.exports = {
entry: './src/js/index.js',
output: {
filename: 'js/build.js',
path: resolve(__dirname, 'build')
},
module: {
rules: [
// loader的配置
{
// 处理less资源
test: /\.less$/,
use: ['style-loader', 'css-loader', 'less-loader'],
},
{
// 处理css资源
test: /\.css$/,
use: ['style-loader', 'css-loader'],
// outputPath: 'css'
},
{
// 处理图片资源
test: /\.(jpg|png|gif|jpeg)$/,
loader: 'url-loader',
options: {
limit: 8 * 1024,
name: '[hash:10].[ext]',
// 关闭es6模块化
esModule: false,
// 设置图片输出的路径
outputPath: 'images/'
}
},
{
// 处理html
test: /\.html$/,
loader: 'html-loader'
},
{
// 处理其他资源
exclude: /\.(html|css|js|less|jpg|jpeg|gif|png)$/,
loader: 'file-loader',
options: {
name: '[hash:10].[ext]',
outputPath: 'compontents'
}
}
]
},
plugins: [
// plugins的配置
new HtmlWebpackPlugin({
template: './src/index.html'
})
],
devServer: {
contentBase: resolve(__dirname, 'build'),
compress: true,
port: 3000,
open: true,
// inline: true
},
mode: 'development'
}
//注意事项:webpack-dev-server在更新的时候要去掉package.json中的browserslist字段
"browserslist": {
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
],
"production": [
">0.2%",
"not dead",
"not op_mini all"
]
},
"eslintConfig": {
"extends": "airbnb-base"
}
// 附上package.json中的部分代码
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
"start": "webpack-dev-server"
}