从parcel.js打包出错,到拥抱nvm
去年年底发布的parcel.js在年底可谓是火了一把,短短一个多月的时间在GitHub热门排行榜上名列前茅。因其几乎零配置的易用性,相比Webpack的复杂配置收获了大量关注及好评,甚至有人预言未来大有超过Webpack之趋。我也赶紧尝试一下,发现确实非常简单易用,但是一开始,插件还是比较少,相信未来会越来越成熟好用。以后如果有机会我会专门写一篇关于parcel.js的文章,说了那么多废话,其实接下来我要说的是nvm(2333...)
遇到问题
我在使用parcel.js打包项目的时候出现了下面的错误:

我在仔细检查完代码并且核实项目配置没有问题后,没办法只能求助万能的Google,结果在GitHub上找到了错误的原因,parcel.js使用了Async 函数,默认Node.js 8以上才支持的,低于8的话需要使用babel配置。我查看了一下自己的Node.js版本,如下:

找到问题原因后,我想升级一下node不就解决问题了。但又一想,公司最近在做的项目有用到node,贸然升级项目报错就麻烦了。这时候,我想到了nvm,其实很早之前就看过,当时觉得电脑已经安装了node环境了,卸载重新安装费事就没有用它。但是现在需要用新版本的node才可以用parcel.js,我决定卸载node,重新用nvm安装,管理node版本。
首先我遇到的问题就是mac下如何彻底卸载node呢,因为当时使用Homebrew安装的,感觉直接卸载,应该不彻底。于是我上网查了很多文档,亲身实践如下:
Mac os下彻底卸载node
1.删除/usr/local/lib中的所有node和node_modules
2.删除/usr/local/lib中的所有node和node_modules的文件夹
3.如果是从brew安装的, 运行brew uninstall node
4.检查~/中所有的local, lib或者include文件夹, 删除里面所有node和node_modules
5.在/usr/local/bin中, 删除所有node的可执行文件
6.最后运行以下代码:
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules
(感谢知乎@haochuan)
彻底卸载完node后,然后按照Github上nvm安装文档一步一步安装就好了。有了nvm你就可以随心所欲的安装,切换你想要任何版本的node了。

哈哈,随便切换node版本,感觉真棒。
经过这件事,我在思考,其实我很早就知道了会有遇到
node版本这个问题。但是怕麻烦就没有理会,总感觉不一定会遇到,但是真到遇到了,还是要解决的。平时写代码也是一样的,考虑全面再去实现代码,哪些模块需要封装,都要考虑好,并实现。不能因为麻烦就不去做,当你最终遇到自己留下的坑的时候,还是要自己去填的。往往填坑的同时会带来更大的痛苦。
从parcel.js打包出错,到拥抱nvm的更多相关文章
- webpac4k运行webpack .\src\main.js .\dist\bundle.js打包出错
打包的命令格式:webpack 要打包的文件的路径 打包好的输出文件的路径 运行webpack .\src\main.js .\dist\bundle.js 提示错误,错误信息如下: WARNING ...
- Parcel.js + Vue 2.x 极速零配置打包体验
继 Browserify.Webpack 之后,又一款打包工具 Parcel 横空出世 Parcel.js 的官网有这样的自我介绍 “极速零配置Web应用打包工具” 简单接触了一下,单从效率上来说,确 ...
- requirejs 多页面,多js 打包代码,requirejs多对多打包【收藏】
这段代码来自 http://stackoverflow.com/questions/20583812/grunt-requirejs-optimizer-for-a-multi-app-project ...
- 转载 r.js打包经验
例子1 先是HTML页面 <!DOCTYPE html> <html> <head> <title>My App</tit ...
- Eclipse打包出错——提示GC overhead limit exceeded
版权声明:本文为博主原创文章,未经博主允许不得转载. 在Eclipse开发环境中打包发布apk安装包的时候,有时候会出现下面的错误: 原因 在打包的时候,Eclipse占用的内存会增大,当分配给Ecl ...
- requirejs 使用实例r.js打包
在这里,请先看基础文章与相关技术文档: 安装: npm init npm install requirejs --save npm install jquery@1.11.1 --save 创建基本目 ...
- r.js打包
久闻r.js的大名,但实际没有用它做过任何东西.今天用它时,发现网上许多教程都不对.研究一下,把我的实际经验分享给大家. 例子1 先是HTML页面 <!DOCTYPE html> < ...
- maven-shade-plugin 打包出错
一般maven-shade-plugin 打包出错的原因都是因为jar包出错,一般使用mvn package -X 即可找出对应错误的jar包删除即可.我自己遇到的是打开自己打包完的jar包出错,整的 ...
- maven打包出错: Failed to clean project: Failed to delete
maven打包出错: Failed to clean project: Failed to delete 出现这种错误,通常是由于您已启动了另一个tomcat 进程,导致报错,关闭tomcat进程即可 ...
随机推荐
- 一个两年java程序猿的2017个人总结
前言 又到了一年中最后的日子了,相信有不少公司要求员工写年度总结了,我也不例外.不过个人感觉在公司的写个年度总结来说,过于模板化了.其实很多没有必要.总之,本篇的个人总结,是按照个人的想法写的.简而言 ...
- 修改placeholder的样式
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #666; } input:-moz-pl ...
- 前端学习_01_css网页布局
引子 之前也自己陆陆续续地学了一些web方面的知识,包括前段和后端都有涉及到,自己也比较感兴趣,感谢peter老师,愿意无偿提供从零开始的教学,之前也看过peter老师的一些视频,节奏非常适合我,决心 ...
- python利用pysvn发布lib的小程序
背景: 本人在公司的平台部门工作,我们部门写出的代码都是编译成.a文件,定期发布版本到各个产品,现在老大要求我负责每周向公司的某个产品发布lib.发布lib的步骤大概就是自动化的兄弟给我提供一个归档的 ...
- vue2 3d 切换器
空闲时写了一个3d切换器,灵感来自于转行前画3d工程图,效果如图: 功能:按住鼠标中间,变为3d模式,点击6个页面中的某一个页面,页面旋转放大,恢复到2d图形,3d图消失.再次点击鼠标中间,恢复为3d ...
- IDEA第六章----快捷键
第一节:解决快捷键冲突 idea支持很多快捷键,这样就导致了很多快捷键和其他应用冲突,所以需要把其他应用的快捷键去掉,下面以输入法和QQ为例. QQ我就留下了提取消息和截图,这个是个人习惯问题. 第二 ...
- Appium dmg 安装:[TypeError: Cannot read property 'replace' of undefined]
问题原因:appium dmg 版本没有默认node.js 解决方案:安装稳定版的node.js.(官网下载安装即可.) 验证:命令行输入:node -v 查看版本号 npm -v 查看版本号
- 【矩阵快速幂】bzoj1297 [SCOI2009]迷路
1297: [SCOI2009]迷路 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1407 Solved: 1007[Submit][Status ...
- Linux中允许远程用户登录访问mysql的方法
需要手动增加可以远程访问数据库的用户. 方法一.本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项 ...
- python高精度浮点型计算的诡异错误
>>> from decimal import Decimal >>> a=Decimal(100.1) >>> b=Decimal(100.1) ...