我们的应用程序应该有一个主应用,由多个模块组成,这些模块有自己的git仓库。我们的目标是使用主应用程序,并将模块转换为只能在主应用程序中引用或调用的包。就像C#* 中的 DLL或Angular 中的 * 组件一样。现在,我已经浏览了 Sencha 文档,我所能看到的就是将模块合并到一个单独的目录/工作区中。我们不想这样做,因为模块有自己的存储库,“主应用程序”也有自己的存储库。请推荐最佳路径。
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成功地试过了。
1条答案
按热度按时间nqwrtyyt1#
我想最简单的方法是在每个存储库中定义包的工作空间,方法是将其添加为workspace.json:
现在,您需要链接(建议使用符号链接)或将框架复制到/ext下
假设您有以下结构
现在,您可以转到/root/packages/local/yourModule并调用
这应该会产生套件和js-files。
您可以在
这些文件现在可以按需从您的主应用程序加载。
根据您的需要,您可以通过添加
或用于内部的旧 Sencha cmd包
另一种方法是使用另一种构建工具。
你需要在里面做:
/root/软件包/本地/您的模块/src
星星表示仅与模块(包)的调试版本相关。
这与标准的 Sencha cmd包构建的功能相差甚远。
我用grunt成功地试过了。