一个关于webpack-dev-server的奇怪的问题

这是一个很奇怪的问题,目录结构是这样的:
clipboard.png

package.json 是这样的:

{
    "name": "webpack_test",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {

        "start": "webpack-dev-server --inline"
    },
    "author": "",
    "license": "ISC",
    "devDependencies": {
        "json-loader": "^0.5.5",
        "webpack": "^3.3.0",
        "webpack-dev-server": "^2.5.1"
    }
}

webpack.config.js是这样的:

var webpack = require('webpack');
module.exports = {
    entry: __dirname + "/app/main.js",
    output: {
        path: __dirname + "/public",
        filename: "bundle.js"
    },
    devtool: 'eval-source-map',
    devServer: {
        hot: true,
        inline: true,
        historyApiFallback: true
    },
    module: {
        loaders: [{
            test: /\.json$/,
            loader: 'json-loader'
        }]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ]

}

这样的配置下,我修改app里的js,devserver会重新打包,然后就没有了。。他不给我实时更新。而且我手动更新,他也不给我显示app里我对js的修改,还是之前的。
然后我把decServer里的默认路径设置到./public里,修改app里的文件可以实时更新,但是修改index.html不更新。莫名其妙,求大神传道授业解惑,谢谢。

阅读 2.8k
2 个回答
 output: {
        path: __dirname + "/public",
        filename: "bundle.js",
        publicPath: "/public"
    }

在output属性里设置publicPath属性,因为webpack-dev-server默认是读取这个属性的路径的。index.html不在热更新范围之内。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题