7
我正在嘗試爲使用Chrome的JavaScript文件獲取源地圖。當前gulp腳本的問題在於源映射(即Browserify創建的)會導致文件的縮小版本。使用gulp,Browserify,reactify的源地圖,UglifyJS
例如,假設app.jsx是用於Browserify的條目文件,並且其中包含require('a')
和require('b')
調用。 app.jsx會按預期進行瀏覽,重新定義和uglify並寫入app.js。然而,所有的源映射模塊a
和模塊b
中的引用,也精縮:
var gulp = require('gulp'),
browserify = require('browserify'),
watchify = require('watchify'),
source = require('vinyl-source-stream'),
buffer = require('vinyl-buffer'),
bundler;
bundler = browserify({
entries: '/app.jsx',
cache: {},
packageCache: {},
fullPaths: true
});
bundler
.transform('reactify');
.transform({
global: true
}, 'uglifyify');
bundler = watchify(bundler);
bundler.on('update', function() {
return bundler
.bundle()
.pipe(source('app.js'))
.pipe(buffer())
.pipe(gulp.dest('/js'));
});
如何得到這個工作任何想法?
1.的問題是browserify將sourcemap內聯到文件中,然後uglify去掉評論。我選擇了2,我不喜歡它,因爲你不是經常測試它在生產中運行的代碼,但是這種類型的錯誤很少發生在我的經驗中。 – 2014-12-10 18:32:46
您需要告訴大量的源代碼來閱讀現有的地圖。 'sourcemaps.init({loadMaps:true})' – 2014-12-10 18:39:39
啊,我認爲這不適用於內聯源地圖,但在閱讀文檔時,你肯定是正確的。但是,我仍然希望使用更優化的縮小策略進行部署,這意味着無論如何我都會有不同的開發流程。可能要堅持單獨的構建戰略。儘管非常感謝你的建議。 – 2014-12-10 23:02:30