【问题标题】:How do I set up a Dojo build process with multiple applications?如何设置包含多个应用程序的 Dojo 构建流程?
【发布时间】:2015-05-05 18:07:07
【问题描述】:

我有一个基于Colin Snover's Dojo Boilerplate 的单页Dojo (1.8) 应用程序,它可以很好地构建和运行。现在我已将网站扩展为多个页面,其中一些具有其他 Dojo 应用程序。它在源目录中运行良好,但构建过程不会获取其他文件,因此安装的网站会损坏。

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

(我浏览了很多 Dojo 文档,但它倾向于关注树木的细节,甚至是树枝,而不是只说森林的样子。)

原始样板文件树如下:

  • /build.sh:基于 bash 的构建脚本,其核心是在 node.js 下运行构建工具
  • /profiles/app.profile.js:“应用程序构建配置文件”,使用--profile 选项传递给构建脚本
  • /webroot/:网络服务器根目录,包含:
    • /dijit/、/dojo/、/dojox/、/util/:标准 Dojo 源目录
    • /app/:应用程序目录,包含
      • main.js:应用程序的主要入口点,它需要所有内容,然后解析 DOM 以实例化各种应用程序对象
      • run.js:一些基本的 require()ments,通过 --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 /(两个应用程序都有基于初始样板文件的 run.js 和 main.js)。新应用程序使用各种 Dojo 工具,以及 /webroot/app/* 中的一些类。

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

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

那么,我从这里去哪里?

【问题讨论】:

    标签: node.js build dojo


    【解决方案1】:

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

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

    【讨论】:

    • 那么,您单独构建应用程序,然后合并文件树?我很确定有些文件会出现在多个应用程序中,但内容不同,所以我认为这行不通。
    猜你喜欢
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 2022-12-17
    • 2017-11-14
    相关资源
    最近更新 更多