2014-09-05 38 views
4

我想要一個首先將es6代碼轉換爲es5並將其保存到一個目錄的gulp文件,然後對其進行瀏覽(在每個文件上,而不僅僅是一個條目文件)並將其保存到另一個文件dir,最後我想縮小它,並將它作爲.min.js文件放在browserified文件夾中。這裏的結果應該是什麼樣子的示意圖:Traceur + browserify + uglyify in gulp

src/ 
    es6/ 
    index.js 
    mod.js 
    es5/ 
    index.js 
    mod.js 
    es5-browser/ 
    index.js 
    index.min.js 
    mod.js 
    mod.min.js 

這裏是我的gulpfile那麼遠,但我不斷收到一個無法找到模塊錯誤:

var gulp = require('gulp'); 
var traceur = require('gulp-traceur'); 
var browserify = require('gulp-browserify'); 
var sourcemaps = require('gulp-sourcemaps'); 

gulp.task('es5ize', function() { 
    return gulp.src('src/es6/**/*.js') 
    .pipe(sourcemaps.init()) 
    .pipe(traceur({sourceMaps: true})) 
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest('src/es5')) 
    .pipe(browserify({ 
     debug : true 
    })) 
    .pipe(gulp.dest('src/es5-browser')) 
    ; 
}); 

我知道我不應該使用gulp-browserify,但我無法像乙烯那樣得到任何東西。

它一直運行到browserify步驟

我該如何得到這個工作?

編輯:

我希望能夠牢記這一口,並沒有給exec任何東西,因爲我最終還是會希望這個太

所有其他是接近示例使用watchify這首先瀏覽器創建一個包,然後操縱該包,但這意味着它將始終開始browserifed我不想要的。他們似乎也需要指定browserify入口文件,但我想指定水珠,並把它轉化匹配

+1

你能不能給我們寄託都現在的錯誤輸出與gulpfile? – EthanB 2014-09-08 17:04:25

+0

Browserify需要從入門點開始。從這些中,它將構建一個依賴關係圖並僅捆綁實際需要的模塊。總之,你不應該把你所有的js文件都傳送給browserify。 – Ben 2014-09-09 17:40:51

回答

1

你需要traceur編譯爲CommonJS的模塊,因此browserify就會明白.pipe(traceur({modules: 'commonjs' }))