requirejs grunt 多入口文件打包

想要针对每个页面单独一个文件进行打包,但是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'
          }
      };
  });

参考链接>>

你可能感兴趣的:(requirejs grunt 多入口文件打包)