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

跟着教程边学边打代码,建立项目,在不同的电脑,创建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出现了!!!!!!

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

心真累!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,227评论 7 35
  • 构建一个小项目——FlyBird,学习webpack和react。(本文成文于2017/2/25) 从webpac...
    布蕾布蕾阅读 16,873评论 31 98
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,232评论 0 21
  • 你在的地方,没有了我的身影。我的身旁,不再有你的陪伴。 是我走了,还是你离开了。 多少次告诉自己:“你没有离开,我...
    半夏风信阅读 351评论 4 2
  • 蝉开始鸣起来了,在这个燥热的午后。其实,这些天一直很热,而我也不忙,居然没注意到蝉是什么时候来的。听它们那鸣叫的声...
    别山举水阅读 3,150评论 118 140