Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RequireJS:优化脚本并在其中包含RequireJS本身_Javascript_Compilation_Requirejs_Amd_R.js - Fatal编程技术网

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

Javascript RequireJS:优化脚本并在其中包含RequireJS本身,javascript,compilation,requirejs,amd,r.js,Javascript,Compilation,Requirejs,Amd,R.js,我有一个复杂的JS项目,是用AMD格式编写的。它使用RequireJS 我的系统应该能够将其功能包含到不同的外部站点。我想将其编译为一个js文件,并将其包括如下内容: <script type="text/javascript" src="http://mysystem.com/core-build.js"></script> 我不知道外部站点是否有requirejs,这就是为什么requirejs本身应该包含在core-build.js中的原因。编译后的文件应完全

我有一个复杂的JS项目,是用AMD格式编写的。它使用RequireJS

我的系统应该能够将其功能包含到不同的外部站点。我想将其编译为一个js文件,并将其包括如下内容:

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

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

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

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

您可以使用:


您可以在上看到示例应用程序设置(即使您没有使用主干)。

Simon,感谢您的回复。我使用r.js,看起来r.js和grunt有相似的功能。我将查看r.js-concat选项并写下它的配置。另外,r.js还有名称空间选项,这解决了影响全局环境的问题。
concat: {
    dist: {
        src: [
            "www/assets/js/libs/require.js",
            "dist/debug/app.js"
        ],

        dest: "www/app_build.js",

        separator: ";"
    }
}