我正在尝试将需要的模块缩小并连接到一个文件中。
例如,如果我有一个名为article.js的文件,如下所示:
define(["jquery","flexslider","share_div"],function(){});
我希望将所有这些依赖项合并并缩小为一个文件。
我的构建脚本中有以下内容,但它不是将文件组合在一起,只是缩小。
这是我的build.js文件:
{
"appDir": "../js",
"baseUrl": "../js",
"dir": "../www-build",
"mainConfigFile": "../js/common.js",
"modules": [
{
"name": "common"
},
{
"name": "page/article",
"exclude": ["common"]
}
],
"paths": {
"jquery": "empty:",
"jquery_ui": "empty:",
"twitter_bootstrap": "empty:"
}
}
我对Require和构建脚本的理解可能是错误的,但我设想文件会连接在一起。
任何指导都将不胜感激。
答案 0 :(得分:0)
要缩小作为依赖项跟踪的各个模块的嵌套依赖项,请将此additonal属性指定为构建文件的一部分:findNestedDependencies: true
。 (见full RequireJS doc的第318-324行。)
如果articles.js是common.js中的依赖项,并且您正在遍历common.js以构建连接和minfied文件。如果您只是尝试构建单个模块本身,我不确定缺少连接。
答案 1 :(得分:0)
你在评论中包含的build.txt
文件(我写的评论在我写完答案之后被Andy删除了)有点难读,因为它没有被包含在预先格式化中码。从我在您提供的文件中看到的内容,r.js
确实将article.js
的依赖关系连接到一个文件中。所以看来你已经以某种方式解决了原来的问题。
为什么你的输出没有出现在正确的目录中,我只能推测。您在问题中显示的build.js
文件已设置为将所有内容放入../www-build
,但您的build.txt
文件会将输出显示在../js
中。以下是推测部分:有时当我们正在寻找解决方案时,我们会在这里和那里做出改变,并且不知道我们在哪里。这当然发生在我身上。我所做的就是清理我的开发树(删除构建版本),检查我的构建配置,以确保我确实使用了我认为使用的内容并重新运行构建。