Kar*_*arl 3 webpack webpack-dev-server
我正在遵循这些webpack 5 指南,并且 webpack-dev-server v4.3.1 不会实时重新加载示例项目(编辑任一 JavaScript 文件后确实会发生重新编译)。也许我错过了一步?
1.你能告诉我问题出在哪里吗?
这是我的配置:
包.json
{
"name": "components",
"version": "1.0.0",
"description": "",
"private": true,
"devDependencies": {
"autoprefixer": "^10.3.7",
"eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.2.1",
"html-loader": "^2.1.2",
"html-webpack-plugin": "^5.3.2",
"postcss": "^8.3.9",
"tailwindcss": "^2.2.16",
"webpack": "^5.58.1",
"webpack-cli": "^4.9.0",
"webpack-dev-middleware": "^5.2.1",
"webpack-dev-server": "^4.3.1"
},
"scripts": {
"start": "webpack serve --open",
},
"repository": {
"type": "git",
"url": "components"
},
"author": "Karl",
"license": "ISC",
"dependencies": {
"lodash": "^4.17.21"
}
}
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
mode: 'development',
entry: {
index: './src/index.js',
print: './src/print.js',
},
devServer: {
static: {
directory: './dist',
watch: true
},
},
plugins: [
new HtmlWebpackPlugin({
title: 'Output Management',
}),
],
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist'),
clean: true,
}
};
Run Code Online (Sandbox Code Playgroud)
下面是运行 npm start 脚本的结果(./src 中的 2 个文件,index.js 和 print.js,是从上面链接的指南复制的)。如果我编辑任一文件,实时重新加载将不起作用,但在手动刷新浏览器后,编辑会得到反映。
如果重要的话,以上内容来自 VS Code 的 Bash 终端,并且我运行的是 Windows 10。
2)奖励:为了实时重新加载位于项目根文件夹中的静态index.html 文件,我需要进行哪些配置更改?
这个配置应该可以解决问题:
devServer: {
hot: false, // optional, but you must not set both hot and liveReload to true
liveReload: true
}
Run Code Online (Sandbox Code Playgroud)
静态index.html的实时重新加载可以通过此插件配置来实现:
plugins: [
...,
new HtmlWebpackPlugin({ template: "src/index.html" })
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5892 次 |
| 最近记录: |