我正在使用webpack处理React webapp,与本教程一起使用.
无意中,我将node_modules文件夹添加到我的git中.然后我再次使用它删除它git rm -f node_modules/*
.
现在,当我尝试启动webpack服务器时,出现以下错误:
> webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors
sh: webpack-dev-server: command not found
npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "run" "devserve"
npm ERR! node v0.12.4
npm ERR! npm v2.10.1
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! Blabber@0.0.1 devserve: `webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors`
npm ERR! spawn ENOENT
Run Code Online (Sandbox Code Playgroud)
起初我以为这只是我的项目,但后来我检查了教程的代码检查点:同样的错误!所以有些东西似乎在全球搞砸了.
这是我到目前为止所尝试的:
rm node_modules …
我正在尝试使用webpack-dev-server编译文件并启动一个开发Web服务器.
在我package.json
的脚本属性设置为:
"scripts": {
"dev": "webpack-dev-server --hot --inline",
}
Run Code Online (Sandbox Code Playgroud)
所以--hot
,--inline
应该启用网络服务器和热重装(据我所知).
在我的webpack.config.js
文件中,我设置了entry,output和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'}
]
}
};
Run Code Online (Sandbox Code Playgroud)
所以通过这个设置,我运行npm run dev
.webpack-dev-server启动,模块加载器测试工作(即当我保存任何.vue文件时,它会导致webpack重新编译),但是:
在第二个项目符号中,我可以看到这一点,因为在浏览器窗口中,vue占位符永远不会被替换,如果我打开javascript控制台,Vue实例永远不会创建或全局可用.
我错过了什么?