我有一個正在使用grunt進行構建和部署的工作requirejs項目。如果完全不使用優化,構建可以毫無問題地工作,並且我會得到一個大的js文件將其部署到生產環境中。如何從uglifying /優化中排除某些requireJS文件
我的問題是,我有一些外部框架(如angularJS),我已經有一個最小化/優化版本,不想再次優化它。
目前沒有優化,我通過我的gruntfile中的單獨路徑配置包含此框架的縮小版本。而在我的正常main.js中,我有用於開發的非縮小版本。
現在我想使用優化器來優化我自己的代碼,但不優化外部框架。但是外部框架應該包含在生成的大JavaScript文件中。基本上我想告訴優化器他在某些情況下應該使用原始文件。
我可以這樣做嗎?
我只找到一個全局排除選項,因此一些模塊根本不包含在所得優化的js中。
這是我的咕嚕配置:
requirejs: {
compile: {
options: {
baseUrl: "<%= pkg.folders.jsSource %>",
name: "../external-libs/almond-0.1.1",
include: "main",
mainConfigFile: "<%= pkg.folders.jsSource %>/main.js",
out: "<%= pkg.folders.build + pkg.name + '-' + pkg.version %>/js/main.js",
//logLevel: 0,
optimize: "uglify2",
//optimize: "none",
paths: {
'angular':'../external-libs/min/angular-1.0.4',
'jquery':'../external-libs/min/jquery-1.7.2',
'jquery.mobile':'../external-libs/min/jquery.mobile-1.2.0',
'adapter': '../external-libs/min/jquery-mobile-angular-adapter-1.2.0',
'moment': '../external-libs/moment-1.6.2.min',
'iscroll': '../external-libs/min/iscroll-4.2.5',
'iscrollview': '../external-libs/min/jquery.mobile.iscrollview-1.2.6',
'add2Home': '../external-libs/min/add2home',
'config/config': "config/<%=configDatei%>"
}
}
}
},
這是main.js的相關部分:
require.config({
paths:{
'angular':'../external-libs/angular-1.0.4',
'jquery':'../external-libs/jquery-1.7.2',
'jquery.mobile':'../external-libs/jquery.mobile-1.2.0',
'adapter': '../external-libs/jquery-mobile-angular-adapter-1.2.0',
'moment': '../external-libs/moment-1.6.2.min',
'iscroll': '../external-libs/iscroll-4.2.5',
'iscrollview': '../external-libs/jquery.mobile.iscrollview-1.2.6',
'add2Home': '../external-libs/add2home'
},
shim:{
'angular':{ deps:['jquery'], exports:'angular' },
'iscroll':{ deps:['jquery'], exports:'iscroll' },
'iscrollview':{ deps:['jquery.mobile', 'iscroll'], exports:'iscrollview' }
}
});
感謝您的幫助。
該解決方案是不適合我使用0.4.1咕嚕咕嚕和-contrib請-requirejs 0.4.1 當我指定的「空」的工作文件仍然被列入醜化過程(使用醜化/ uglify2)。無論是優化單個文件還是整個應用程序目錄,我都可以得到相同的結果。 – 2013-11-03 14:37:31
不適用於我。 – kaiser 2013-12-12 18:03:10
Grunt 0.4.5,requirejs 2.1.9。奇蹟般有效 ! – 2015-03-04 14:40:39