美文网首页
gulp入门踩坑

gulp入门踩坑

作者: 几一 | 来源:发表于2016-07-24 10:00 被阅读0次

    更新一下,原来是自己挖的坑....
    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, 这下好了。

    相关文章

      网友评论

          本文标题:gulp入门踩坑

          本文链接:https://www.haomeiwen.com/subject/gegwjttx.html