JS

创建Webpack简单项目遇见的那些事儿

2016-02-25  本文已影响25496人  LeeChingYin

跟着教程边学边打代码,建立项目,在不同的电脑,创建webpack项目时候,分别遇到不一样的坑。

电脑 A :

环境:Mac
         node -v: v0.12.4
         npm -v: 2.10.1

按着教程写完index.js,sub.js,安装好各种包,然后在项目根目录运行webpack后,马上遇到一个坑

指令webpack安装的时候明明是全局的 “npm install -g webpack”,但是仍然报出了这样的错误 根据路径,ls查看webpack目录下是存在NodeTemplatePlugin这个插件的,查找了一下原因,应该是没有设置环境变量导致的。具体在这里
按照别人的方法:
1.直接在终端下,设置环境变量export NODE_PATH="/usr/local/lib/node_modules" 后在项目根目录运行webpack,仍然报错。在项目根目录下输入指令 echo $NODE_PATH 输出结果为空。
2.在项目根目录下设置环境变量export NODE_PATH="/usr/local/lib/node_modules" 后在项目根目录运行webpack,成功!在项目根目录下输入指令 echo $NODE_PATH 能输出结果。但是当新开一个终端进入项目,并在项目根目录下运行webpack指令,仍然报错,输入指令 echo $NODE_PATH 输出结果为空。说明之前设置的环境变量只是一个临时的值! 以上两种方法都不可以很好的解决问题。

继续寻找解决方案: 在~/.bash_profile中添加如下设置: export NODE_PATH="/usr/local/lib/node_modules" 保存退出。

运行webpack,成功!输入指令 echo $NODE_PATH 能输出结果!

ps:在终端下 vim ~/.bash_profile i #进入编辑
       输入语句 export NODE_PATH="/usr/local/lib/node_modules"
       esc :wq
       source ~/.bash_profile  #让~/.bash_profile马上生效!

最终成功运行项目


晚上用另外一台电脑,重新建立webpack项目,出现了各种状况

环境:mac
         node -v: v5.7.0
         npm -v: v3.6.0

跟这教程,建立项目,安装webpack,html-webpack-plugin 两个包后,运行webpack, 报错。按照上面的解决方法,解决问题。好!继续!问题陆续的出现了...

安装webpack-dev-server,报错报错...尝试忽略它,继续往前走,配置webpack-dev-server,在项目根目录下输入npm start。最后...还是走不下去,各种报错!

它说我版本太低太低!!!!! 各种翻阅资料,有人说把webpack版本装到2.0.1beta解决问题;有人说因为node到了5.x这些包装的时候出现各种状况,需要降低版本,还有各种各样的解释……

就这样,我把webpack装了好多遍,即使换到2.0.1beta依旧没有解决问题;那好吧,我降低node版本咯~ 竟然竟然在我换版本的时候node挂了,又出现了另外一个状况。在这种重重复复装了node,npm后,又卸载,重新再装node,npm后,又卸载…… 搞了好久,最后成功了。

总结一下:
1.webpack在全局安装, webpack-dev-server死活不兼容,根本跑不起来(说版本太低了,但是这怎么解决依旧没有找到解决方案,有待解决)
结论:webpack还是局部安装吧!

2.webpack在局部安装,假设package.json 里面的name为:webpack,那很好又报错了,如图:

将package.json 的name属性修改为:webpackTest, 通过!
结论:package.json的name属性不能跟webpack命令一样

3.解决问题2后,输入命令webpack,提示webpack command is not found,如图:

基于这情况,在package.json下,配置一下命令:

"scripts": {
   "test": "echo \"Error: no test specified\" && exit 1",
   "start": "webpack"
},

在终端下,执行npm start,开始编译,生成build文件夹
继续配置webpack-dev-server,package.json入面的配置就不是像教程那样写了,应该为这样

"scripts": {
   "test": "echo \"Error: no test specified\" && exit 1",
   "start": "webpack",
   "dev": "webpack-dev-server --hot --inline"
}

在终端下,执行npm run dev,通过!!!! 在浏览器里输入localhost:8080, HelloWorld出现了!!!!!!

终于项目又一次跑起来了...

心真累!

上一篇 下一篇

猜你喜欢

热点阅读