Requirejs Optimizer没有编译

时间:2016-12-02 01:52:51

标签: javascript optimization requirejs r.js js-amd

我一直在使用requirejs,但我无法使用优化工具。我想要做的就是将我的javascript文件优化为一个包含所有依赖项的脚本文件。

我的所有文件都在一个js /文件夹中,我有一个子文件夹vendor /

我有一个看起来像这样的配置文件(config.js):

requirejs.config({

baseUrl: ".",
out: "main-built.js",
deps: ["main"],

paths: {
jquery: "vendor/jquery", // v.1.10.2
bootstrap: "vendor/bootstrap",
ajaxform: "vendor/ajaxform",
skrollr: "vendor/skrollr",
jqueryform:"vendor/jqueryform"
},

shim: {
bootstrap: {
  deps: ["jquery"],
  exports: "bootstrap",
},

   ajaxform: {
  deps: ["jquery"],
  exports: "ajaxform",
},
        jqueryform: {
  deps: ["jquery"],
  exports: "jqueryform",
}

}
});

我有一个主要的javascript文件(main.js),如下所示:

if (typeof jQuery === 'function') {
define('jquery', function () { return jQuery; });
}


define(["jquery","bootstrap", "ajaxform","skrollr"], 
function($, bootstrap,  ajaxform, skrollr) {

//have other code here 

});

我还创建了一个构建文件:

({
baseUrl: ".",
paths: {
jquery: "vendor/jquery", // v.1.10.2
bootstrap: "vendor/bootstrap",
ajaxform: "vendor/ajaxform",
skrollr: "vendor/skrollr",
jqueryform:"vendor/jqueryform"
},
shim: {
bootstrap: {
  deps: ["jquery"],
  exports: "bootstrap",
},

   ajaxform: {
  deps: ["jquery"],
  exports: "ajaxform",
},
        jqueryform: {
  deps: ["jquery"],
  exports: "jqueryform",
}

},
name: "main",
out: "main-built.js"
})

所有构建文件都是压缩main.js文件本身,并不包含所有需要的文件。

我一直试图让这种情况持续数周,并且似乎无法正常运行,所以任何帮助都会非常值得赞赏。 谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用主模块将模块条目添加到构建文件中,如:

modules: [
    { name: 'main' }
]

您可以在此处查看构建文件的所有选项:https://github.com/requirejs/r.js/blob/master/build/example.build.js