2014-08-28 30 views
2

我只是嘗試吞噬+角+ browserify應用程序,並得到了一個巨大的browserified文件,約2M。雖然它只需要角度和樣本控制器。巨大的文件大小當瀏覽角

// setup gulp task 
gulp.task('browserify', function() { 
    gulp.src([util.format('%s/app/main.js', JS_BASE_DIR)]) 
    .pipe(browserify({ 
    insertGlobals: true, 
    debug: true 
    })) 
    // Bundle to a single file 
    .pipe(concat('bundle.js')) 
    // Output it to our dist folder 
    .pipe(gulp.dest(util.format('%s/js/', BUILD_BASE_DIR))); 
}); 


//in the main.js 
(function() { 
    'use strict'; 

    var angular = require('angular'); 

    var indexCtrl = require('./controllers/indexCtrl'); 

    var app = angular.module('wohu.app', []); 

    app.controller('ctrl', indexCtrl); 
})(); 

角度通過

npm install angular 

的bundle.js不精縮安裝,但它不應該是巨大的。不知道問題是什麼。

+0

我不熟悉w/browserify,但是我在這裏閱讀了關於堆棧溢出中的browserify標記的[about page](http://stackoverflow.com/tags/browserify/info)。看起來有些膨脹是基於它正在做的事情......它將更多的角度和你的樣本控制器添加到文件中。臃腫甚至被列爲使用browserify的缺點之一。 – 2014-08-29 03:48:15

+0

似乎browserify產生了巨大的源地圖,如「//#sourceMappingURL =數據:應用程序/ JSON; BASE64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy95dWp1bi9kZXZlbG9wZXIvd29vaHUvbm9kZV ......」雙打文件大小 – 2014-08-29 22:20:55

+0

這可能是有點晚了答案,但能來對他人有用。在Firefox中測試我的應用程序時,我發現它不像Chrome那樣默認緩存文件。我看着網絡標籤,並且對我製作的瀏覽軟件包的大小感到非常驚訝,它是6MB。 我開始提取其他模塊,我需要捆綁內,但沒有太大的區別。最後經過一番雜耍,我發現它是'debug:true'屬性,它產生了源地圖。從生產版本中刪除它,你會沒事的。謝謝,Firefox。 – YaroslavS120 2016-04-26 15:08:32

回答

2

Browserify將在文件底部包含一個源代碼映射,這可能會讓它看起來很大。你可以去掉這個(你應該)進行生產。你可以使用這個驅魔者(https://www.npmjs.com/package/exorcist),它將源地圖拉到外部文件中,並且可以連接到你的構建過程(我使用Grunt,但也適用於Gulp)。