Minimalistic repository for problem testing的WebPack HMR不會重新加載HTML
我現在最簡單的項目結構:
root
|-src
--|index.pug
--|--styles.css
--|--app.js
|-public
--|--img
套餐:
"devDependencies": {
"css-loader": "^0.26.1",
"html-loader": "^0.4.4",
"html-webpack-plugin": "^2.26.0",
"pug": "^2.0.0-beta6",
"pug-loader": "^2.3.0",
"style-loader": "^0.13.1",
"webpack": "^1.14.0",
"webpack-dev-server": "^1.16.2"
}
在app.js我只是需要樣式並將app.js用作webpack.config.js中的條目,如下所示:
const HtmlWebpackPlugin = require('html-webpack-plugin');
let src = {
app: path.resolve(__dirname,'src', 'app.js'),
public: path.resolve(__dirname, 'public'),
html: {template: path.resolve(__dirname, 'src', 'index.pug')}
}
module.exports = {
resolve: ['', '.js', '.css', '.pug'], // tried with or without it. Change nothing
entry: src.app,
output: {
path: src.public,
filename: "bundle.js"
},
module: {
loaders: [
{
test: /\.css$/,
loader: "style-loader!css-loader"
},
{
test: /\.pug$/,
loader: 'pug-loader',
query: {
pretty: true
}
}
]
},
plugins: [
new HtmlWebpackPlugin({
title: 'index.html',
template: src.html.template
})
],
devServer: {
contentBase: src.public
},
devtool: 'sourcemap'
}
運行的WebPack-dev的服務器:webpack-dev-server --hot --inline
後,我得到了很好的CSS熱更換,而不是HTML。當我更改我的index.pug模板文件時,我得到一些控制檯消息取決於app.js中所需的pug-template或不。
文件app.js(的WebPack入口點)
// without requiring template got:
//[WDS] App updated. Recompiling... [WDS] App hot update...
// and nothing happens
/*
When template required I got these messages:
[HMR] Cannot apply update. Need to do a full reload!
(anonymous) @ dev-server.js:18
hotApply @ bootstrap f3d9aa9…:390
hotUpdateDownloaded @ bootstrap f3d9aa9…:303
hotAddUpdateChunk @ bootstrap f3d9aa9…:283
webpackHotUpdateCallback @ bootstrap f3d9aa9…:4
(anonymous) @ 0.f3d9aa9….hot-update.js:1
dev-server.js:19[HMR] Error: Aborted because 83 is not accepted
at hotApply (http://localhost:8080/bundle.js:391:31)
at hotUpdateDownloaded (http://localhost:8080/bundle.js:304:13)
at hotAddUpdateChunk (http://localhost:8080/bundle.js:284:13)
at webpackHotUpdateCallback (http://localhost:8080/bundle.js:5:12)
at http://localhost:8080/0.f3d9aa9823a803392473.hot-update.js:1:1
And page reloads by refreshing.
*/
require('./index.pug');
require('./styles.css');
純HTML而不是哈巴狗是相同的。它如何被修復?
編號安全寫是不是原因。 – Alendorff