想要针对每个页面单独一个文件进行打包,但是r.js以及基本配置的grunt配置都是只能打包为一个文件。后来查了很久发现了方法
// r.js 打包 准备
var files = grunt.file.expand('src/apps/*/main.js'); //读取要打包的js入口 一般都为 main的js
var requirejsOptions = {}; //用来存储 打包配置的对象
//遍历文件
files.forEach(function(file) {
var filenamelist = file.split('/');
var num = filenamelist.length;
var filename = filenamelist[num - 2]; //获取目录名称,因为这里的文件名都是main的js
requirejsOptions[filename] = {
options: {
baseUrl: "./src",
paths: {
jquery: './vendor/jquery/jquery.min',
migrate: './vendor/jquery/jquery-migrate-1.2.1',
core: './common/core',
head: './common/head',
replaceImgSrc: './module/replaceImgSrc/replaceImgSrc',
bootstrap:'./vendor/bootstrap/dist/js/bootstrap.min'
},
optimizeAllPluginResources: true,
name: 'apps/' + filename + '/main',
out: 'build/apps/' + filename + '/main.js'
}
};
});