RequireJs与模块捆绑在一起

时间:2014-10-03 00:27:06

标签: javascript requirejs bundling-and-minification

我最近看到了一个关于requirejs包如何工作的例子(http://vimeo.com/97519516)并且很兴奋。因此,我试图让捆绑功能与我的设置配合使用,并将我的头撞在墙上。

到目前为止已完成的故障排除 将正确创建main.js文件,而不在main.js top depenendecy中捆绑和定义comp1组件。但是,当我嵌套comp1依赖项并添加捆绑选项时,将永远不会创建page1和page2包。因此,配置的其余部分似乎不是问题。我也尝试了几种不同的方法。删除模块并将所有内容放在配置的根目录中。将bundle移动到all-config.js。关于我可能做错的任何想法。

全config.js

(function() {
if (typeof requirejs != 'function') {
    requirejs = function(config) { requirejs = config; };
}

requirejs({
   pathes: {
     comp1: "path1",
     comp2: "path2,
     router: "path3"
   }
});

build.json

 {
"baseUrl": "./",
"appDir": "../src/main/webapp",

"dir": "build",
"mainConfigFile": "app/all-config.js",

 modules: [
    {
       "include": [
          "app/lib/require/require.js"
        ],
        bundles":{
           "page1" : ["comp1"],
           "page2" : ["comp2"]
        }
    }
 ]
}

main.js

require(['jquery', 'router'],function($){
   //load app
   require(["comp1"],function(comp1){
     var app = new comp1();
   });
});  

Gruntfile

module.exports = function(grunt){

var stripper = require('strip-json-comments');
var buildOptionsFile = grunt.file.read( 'build.json' );
var buildOptions = JSON.parse(stripper(buildOptionsFile) );

grunt.initConfig({
     requirejs: {
        compile: {
            options: buildOptions
        }
    }
});
 .....
};

有关如何使其发挥作用的任何想法?

0 个答案:

没有答案