我运行了这个命令:
webpack-dev-server --content-base deployment/deployment --hot --inline
这样我的网站就能正确启动。然后我更新了randomFile.js
,加入了错误的语法(插入“abc”),应该会导致lint错误或某种类型的故障。当我保存randomFile.js
时,webpack会报告“webpack: bundle is now valid”,并显示我修改的文件以及两个其他文件(不知道为什么还有其他2个)。Webpack还报告正在发射“bundle.js”和“guid.hot-update.json”。
但是网站没有更新。
我检查了
deployment/deployment/js/bundle.js
它没有更新。
webpack.config.js(还有.dev和.prod版本,似乎被webpack-dev-server忽略了)
var path = require('path')
var webpack = require('webpack')
var HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
devtool: 'eval',
entry: [
'webpack-hot-middleware/client',
'./src/main.js'
],
output: {
path: path.join(__dirname, 'deployment/deployment/js'),
filename: 'bundle.js',
publicPath: '/'
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
],
module: {
loaders: [{
test: /\.jpg/,
loader: 'file'
}, {
test: /\.css$/,
loaders: [
'style?sourceMap',
'css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]'
]}, {
test: /\.scss$/,
loaders: [
'style?sourceMap',
'css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]',
'resolve-url',
'sass?sourceMap'
]
},{
loader:'babel-loader',
exclude: path.resolve(__dirname, "node_modules"),
test: /\.js/
}]
}
}
更新
在了解webpack-dev-server不会更新原始的bundle.js之后,我认为我知道问题出在哪里了。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>My Site</title>
<script src="https://code.jquery.com/jquery-2.2.0.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="css/bundle.css" />
<input type="hidden" id="myUrlConfigValueInput" value="http://localhost/FibReactHello2/js/bundle.js">
<input type="hidden" id="myAPIUrlConfigValueInput" value="http://localhost/mySite/api/">
</head>
<body>
<div id="appEntrypt"></div>
<script src="js/bundle.js"></script>
</body>
</html>
ReactJS的入口点在`appEntrypt`。这里有一个依赖项需要用到`bundle.js`。由于webpack-dev-server不会更新此文件(只更新内存中的文件),因此我的网站永远不会更新。
我该怎么办才能解决这个问题?