Node.js 如何设置具有多个应用程序的Dojo构建过程?

Node.js 如何设置具有多个应用程序的Dojo构建过程?,node.js,build,dojo,Node.js,Build,Dojo,我有一个单页Dojo(1.8)应用程序,它构建在上面,并且运行良好。现在,我已经将网站扩展到多个页面,其中一些页面还有其他Dojo应用程序。它在源目录下运行良好,但是构建过程没有获取额外的文件,因此安装的网站被破坏 我需要更新构建过程,以便它优化和复制所有文件,但我不知道应该在哪里添加额外的引用 (我已经阅读了很多Dojo文档,但它倾向于关注树木的细节,甚至是树枝,而没有说明森林是什么样子。) 原始样板文件树如下所示: node ../../dojo/dojo.js load=build --r

我有一个单页Dojo(1.8)应用程序,它构建在上面,并且运行良好。现在,我已经将网站扩展到多个页面,其中一些页面还有其他Dojo应用程序。它在源目录下运行良好,但是构建过程没有获取额外的文件,因此安装的网站被破坏

我需要更新构建过程,以便它优化和复制所有文件,但我不知道应该在哪里添加额外的引用

(我已经阅读了很多Dojo文档,但它倾向于关注树木的细节,甚至是树枝,而没有说明森林是什么样子。)

原始样板文件树如下所示:

node ../../dojo/dojo.js load=build --require ../../app/run.js --profile ../../../profiles/app
  • /sh:基于bash的构建脚本,其核心运行node.js下的构建工具
  • /profiles/app.profile.js:“应用程序构建概要文件”,通过
    --profile
    选项传递给构建脚本
  • /webroot/:根web服务器目录,包含:
    • /dijit/,/dojo/,/dojox/,/util/:标准的dojo源目录
    • /app/:应用程序目录,包含
      • main.js:应用程序的主要入口点,它需要所有东西,然后解析DOM以实例化各种应用程序对象
      • run.js:一些基本的require(),通过
        --require
        选项提交给构建工具
      • (应用程序的其余代码)
生成工具从/webroot/util/buildscripts/调用,如下所示:

node ../../dojo/dojo.js load=build --require ../../app/run.js --profile ../../../profiles/app
我现在添加了两个新应用程序:一个托管在/webroot/info.html中,源代码位于/webroot/info/,另一个托管在/webroot/licenses.html中,源代码位于/webroot/licenses/(根据初始样板文件,两个应用程序都运行了.js和main.js)。新应用程序使用各种Dojo工具,以及/webroot/app/*中的一些类

但是,我应该在哪里添加对这些新应用程序的引用,以便构建过程做正确的事情?以下是我想到的一些可能性:

  • 向构建工具添加新的
    ——需要newApp/run.js
    选项
  • 添加新概要文件,包括在构建工具的附加
    --profile newApp.profile.js
    选项中
  • 向现有app.profile.js文件添加新的“层”
  • 多次运行构建工具,每次都为其中一个应用程序配置,相信它能将文件正确地合并到目标目录中(我怀疑这是否可行,但我已经考虑过了…)

那么,我该怎么办

最简单的方法是为每个应用程序创建一个bash文件,您仍然可以通过命令行传递的bash变量将其优化为一个($1$2,…)


因此,基本上,您将build.sh复制到每个应用程序目录中,调整路径,然后创建一个主shell脚本,调用每个应用程序的build.sh

那么,您单独构建应用程序,然后合并文件树?我很确定有一些文件会出现在多个应用程序中,但内容不同,所以我认为这不管用。