RequireJS:优化脚本并在其中包含RequireJS本身

时间:2013-01-08 21:12:22

标签: javascript compilation requirejs amd r.js

我有一个以AMD形式编写的复杂JS项目。它使用RequireJS。

我的系统应该能够将其功能包含在不同的外部网站中。我想将它编译为单个js文件并包含它:

<script type="text/javascript" src="http://mysystem.com/core-build.js"></script>

我不知道外部网站是否有需要,这就是为什么requirejs本身应该包含在core-build.js中的原因。编译文件应完全独立于环境。

另一方面,它不应重新定义外部站点环境。我的系统使用jquery,knockout,而theese库应该在本地定义,仅用于我的系统目的。它们不应该影响站点的全局命名空间。

所以我的问题是如何优化脚本到一个文件,在其中包含requirejs并将所有内容包装到本地命名空间中?

1 个答案:

答案 0 :(得分:3)

您可以使用Grunt concat task

concat: {
    dist: {
        src: [
            "www/assets/js/libs/require.js",
            "dist/debug/app.js"
        ],

        dest: "www/app_build.js",

        separator: ";"
    }
}

您可以在Backbone Boilerplate上看到示例应用设置(即使您没有使用Backbone)。