gulp入門踩坑

更新一下,原來是自己挖的坑....
node版本要更新到最新版就不會有下面的事情發(fā)生,node-sass的問題看現(xiàn)象很有可能是這些二進制文件使用了 GitHub 的 lfs 服務,而 lfs 使用的是亞馬遜云,由于網(wǎng)絡原因,這些服務器無法訪問。
我比較懶,直接用的淘寶cnpm安裝node-sass。


我是選擇用yoemen上的webapp generator來上手gulp的,具體步驟如下:

  • 安裝yo npm install -g yo
  • 安裝webapp generator npm install-g generator-webapp
  • 創(chuàng)建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

那接著我們繼續(xù),還是我們的 `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, 這下好了。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,489評論 1 32
  • 前言 本文默認你已經(jīng)安裝好node環(huán)境,并且熟悉node命令,和window cd命令。 gulp簡介 基于nod...
    9I閱讀 1,992評論 4 50
  • 1、gulp的安裝 首先確保你已經(jīng)正確安裝了nodejs環(huán)境。然后以全局方式安裝gulp: npm install...
    F_imok閱讀 2,401評論 1 11
  • gulpjs是一個前端構建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數(shù),API也非常簡單,學...
    依依玖玥閱讀 3,185評論 7 55
  • 安裝Gulp首先需要安裝Node.js,并在控制臺輸入$ npm install gulp -gMac端需要寫成$...
    LaBaby_閱讀 949評論 0 1