extjs 将多个独立的通用应用程序合并到一个主应用程序

4ktjp1zp  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(170)

我们的应用程序应该有一个主应用,由多个模块组成,这些模块有自己的git仓库。
我们的目标是使用主应用程序,并将模块转换为只能在主应用程序中引用或调用的包。就像C#* 中的 DLL或Angular 中的 * 组件一样。
现在,我已经浏览了 Sencha 文档,我所能看到的就是将模块合并到一个单独的目录/工作区中。我们不想这样做,因为模块有自己的存储库,“主应用程序”也有自己的存储库。
请推荐最佳路径。

nqwrtyyt

nqwrtyyt1#

我想最简单的方法是在每个存储库中定义包的工作空间,方法是将其添加为workspace.json:

{
  "frameworks": {
    "ext": "ext"
  },
  "build": {
    "dir": "${workspace.dir}/build"
  },
  "packages": {
    "dir": "${workspace.dir}/packages/local,${workspace.dir}/packages",
    "extract": "${workspace.dir}/packages/remote"
  }
}

现在,您需要链接(建议使用符号链接)或将框架复制到/ext下
假设您有以下结构

/root/workspace.json
/root/ext
/root/packages/local/yourModule

现在,您可以转到/root/packages/local/yourModule并调用

sencha package build

这应该会产生套件和js-files。
您可以在

/root/packages/local/yourModule/build/yourModule.js
/root/packages/local/yourModule/build/yourModule-debug.js

这些文件现在可以按需从您的主应用程序加载。
根据您的需要,您可以通过添加

skip.sass=1 
skip.examples=1
skip.slice=1
skip.pkg =1

或用于内部的旧 Sencha cmd包

/root/packages/local/yourModule/.sencha/sencha.cfg

另一种方法是使用另一种构建工具。
你需要在里面做:
/root/软件包/本地/您的模块/src

  • (将文件按正确顺序排列)
  • 连续的
  • 删除空格 *
  • 丑化 *

星星表示仅与模块(包)的调试版本相关。
这与标准的 Sencha cmd包构建的功能相差甚远。
我用grunt成功地试过了。

相关问题