4

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

我的系统应该能够将其功能包含到不同的外部站点。我想将其编译为单个 js 文件并像这样包含它:

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

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

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

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

4

1 回答 1

3

您可以使用Grunt concat任务

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

        dest: "www/app_build.js",

        separator: ";"
    }
}

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

于 2013-01-08T21:17:41.200 回答