2 回答

TA貢獻1798條經(jīng)驗 獲得超3個贊
1 所js文件打包1文件
2 1基礎(chǔ)給js按照模塊組支持模塊1js文件
BUT 都終歸結(jié)1js文件
我想要我想要頁面相關(guān)js打包js文件包每頁面都自js文件包
簡單 基于grunt+grunt-contrib-requirejs
代碼 復制代碼
// r.js 打包 準備
var files = grunt.file.expand('js/app/*/main.js'); //讀取要打包js入口 般都 mainjs
var requirejsOptions = {}; //用存儲 打包配置象
//遍歷文件
files.forEach(function(file) {
var filenamelist = file.split('/');
var num = filenamelist.length;
var filename = filenamelist[num - 2]; //獲取目錄名稱文件名都mainjs
requirejsOptions[filename] = {
options: {
baseUrl: "js/",
paths: {
"text": 'lib/text',
"jquery": 'lib/jquery',
"backbone": 'lib/backbone',
"underscore": 'lib/underscore',
"Highcharts": 'lib/highcharts/highcharts',
"select2": 'lib/select2/select2',
"moment": 'lib/moment',
"jquery-ui": 'lib/jquery-ui/jquery-ui',
"jq()uery.cookie": 'lib/jquery.cookie',
"validate": 'lib/jquery.validate',
"metadata": 'lib/jquery.metadata',
"jsplumb": "lib/jquery.jsPlumb",
"qtip": 'lib/qtip/jquery.qtip',
"nicescroll": "lib/jquery.nicescroll",
"Htheme": 'lib/highcharts/theme',
'jquery.mousewheel': 'lib/jquery.mousewheel'
},
optimizeAllPluginResources: true,
name: 'app/' + filename + '/main',
out: 'js/appbuild/' + filename + '/main.js'
}
};
});
//
通觀察我發(fā)現(xiàn)配置r.js build.js 致按照文件名存貯象
與grunt配置則簡單
代碼 復制代碼
//*****省略其代碼
requirejs: requirejsOptions
});
// Default task(s).
grunt.registerTask('dev', [
'compass:force',
'connect:server',
'watch'
]);
grunt.registerTask('dist', [
'compass:force'
]);
grunt.registerTask('js', ['requirejs']);
- 2 回答
- 0 關(guān)注
- 1748 瀏覽
添加回答
舉報