【发布时间】:2016-07-02 12:54:12
【问题描述】:
我正在尝试使用 webpack-dev-server 来编译文件并启动一个开发 Web 服务器。
在我的package.json 中,我将脚本属性设置为:
"scripts": {
"dev": "webpack-dev-server --hot --inline",
}
所以--hot 和--inline 应该启用网络服务器和热重载(据我了解)。
在我的 webpack.config.js 文件中,我设置了条目、输出和 devServer 设置,并添加了一个加载程序来查找 .vue 文件中的更改:
module.exports = {
entry: './src/index.js',
output: {
path: __dirname + '/public',
publicPath: '/public',
filename: 'bundle.js'
},
devtool: 'source-map',
devServer:{
contentBase: __dirname + '/public'
},
module:{
loaders:[
{ test: /\.vue$/, loader: 'vue'}
]
}
};
因此,通过此设置,我运行 npm run dev。 webpack-dev-server 启动,模块加载器测试工作(即当我保存任何 .vue 文件时,它会导致 webpack 重新编译),但是:
- 浏览器从不刷新
- 存储在内存中的已编译 javascript 永远不会提供给浏览器使用
在第二个项目符号上,我可以看到这一点,因为在浏览器窗口中 vue 占位符永远不会被替换,如果我打开 javascript 控制台,Vue 实例永远不会被创建或全局可用。
我错过了什么?
【问题讨论】:
-
我认为你没有让你的 webpack 正常工作,你的浏览器控制台中缺少 bundle.js。之后,你应该看清楚热模块更换文档webpack.github.io/docs/…,建议你先从CLI模式开始
-
我在构建文档时确实通读了文档,我个人觉得解释有点复杂。此外,当我逐步完成他们在新项目中提供的示例时,它不起作用。也就是说,我做了一些组件隔离测试并弄清楚了配置是什么。今天午饭的时候我会写一个详细的答案。
标签: javascript webpack vue.js webpack-dev-server