gulp入门踩坑

更新一下,原来是自己挖的坑....
node版本要更新到最新版就不会有下面的事情发生,node-sass的问题看现象很有可能是这些二进制文件使用了 GitHub 的 lfs 服务,而 lfs 使用的是亚马逊云,由于网络原因,这些服务器无法访问。
我比较懒,直接用的淘宝cnpm安装node-sass。


我是选择用yoemen上的webapp generator来上手gulp的,具体步骤如下:

  • 安装yo npm install -g yo
  • 安装webapp generator npm install-g generator-webapp
  • 创建webapp项目my-webapp yo webapp my-webapp

至此都是一帆风顺,没有问题。那我们来跑一下 gulp serve 试试,看看这个工程到底长什么样子。
糟糕,一运行就报错了

SyntaxError: Unexpected token ) at exports.runInThisContext (vm.js:73:16) at Module._compile (module.js:443:25) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at execute (/usr/local/lib/node_modules/gulp-cli/lib/versioned/^3.7.0/index.js:24:18) at Liftoff.handleArguments (/usr/local/lib/node_modules/gulp-cli/index.js:149:63) at Liftoff.(/usr/local/lib/node_modules/gulp-cli/node_modules/liftoff/index.js:193:16)

仔细一看原来是gulpfile里的使用了ES6语法,这个问题纠结我一会儿。我们要装的转译ES6的Babel还要靠gulp来载入呢,那gulpfile里的ES6转义特么谁来做?还好gulp在3.9版本起就支持ES6了,用法也简单,只要把gulpfile.js 重命名为 gulpfile.babel.js 即可。

  • 重命名gulpfile mv gulpfile.js gulpfile.babel.js

那接着我们继续,还是我们的 `gulp serve。非guo常bu意qi外ran,报错了,这次是node-sass:

Error: dlopen(node_modules/gulp-sass/node_modules/node-sass/vendor/darwin-x64-46/binding.node, 1): no suitable image found. Did find:
node_modules/gulp-sass/node_modules/node-sass/vendor/darwin-x64-46/binding.node: truncated mach-o error: segment __TEXT extends to 1167360 which is past end of file 121404

at Error (native)
at Object.Module._extensions..node (module.js:460:18)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object. (/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:16:15)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)

google半天都是说重装node-sass,甚至是找到下载这个包然后去对应的目录下替换,然而都没什么卵用(反正我这是不行)。
我的办法要是指定node-sass的安装版本为2.0.1:

  • 安装node-sass npm install node-sass@2.0.1

安装成功后我们再试一下 gulp serve, 这下好了。

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

推荐阅读更多精彩内容

  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 10,838评论 1 32
  • 前言 本文默认你已经安装好node环境,并且熟悉node命令,和window cd命令。 gulp简介 基于nod...
    9I阅读 5,969评论 4 50
  • 1、gulp的安装 首先确保你已经正确安装了nodejs环境。然后以全局方式安装gulp: npm install...
    F_imok阅读 6,948评论 1 11
  • gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学...
    依依玖玥阅读 8,396评论 7 55
  • 安装Gulp首先需要安装Node.js,并在控制台输入$ npm install gulp -gMac端需要写成$...
    LaBaby_阅读 4,498评论 0 1