首页 > 解决方案 > 如何使用自己的 Gruntfile.js 合并 2 个应用程序并拥有自己的 package.json

问题描述

我有两个使用 gruntfile.js 和 package.json 的不同应用程序,当我在本地启动我的第二个应用程序时(仅提供 1 个功能,这就是我尝试将它与另一个合并的原因),这有效,但是当我尝试工作时通过合并主应用程序中的第二个应用程序的功能,它表示模块丢失。

我的主要应用是 BPMN 编辑器,来自:https ://github.com/bpmn-io/bpmn-js

第二个应用是 BPMN-diffing 来自:https ://github.com/bpmn-io/bpmn-js-diffing

我的 BPMN_editor 的 Gruntfile 正在缩小 BPMN_editor 的 .js 文件,然后我尝试对 BPMN diffing 的 js 文件做同样的事情。但没有任何工作,我的节点服务器无法正常运行(而他在没有这个 BPMN 差异的情况下工作)。

我不明白如何使用 bpmn diffing,我是否应该进行 npm install 来安装 bpmn diffing 的所有依赖项,然后再进行 bpmn 编辑器的 npm install 来安装依赖项?还是我应该合并 Gruntfiles 和 package.json 文件?

非常感谢

范特米斯

标签: node.jsgruntjs

解决方案


如果它们基于两种不同的配置,我更喜欢使用负载平衡器或反向代理将它们加载到服务器上。合并项目需要您提供更多见解和一些努力。努力总是取决于设置。我会给你一点提示,但我在你的主要原理存储库中没有看到 Gruntfile


备选方案 1(首选):

但是,您可以创建一个小型 node.js 服务器,用于处理这两个应用程序的服务,如下所示:

- bpmn_root
|- principal
|- diffing

之后您只需要编写一个小脚本,即在您希望部署它的服务器上构建这两个东西,然后您只需要执行node SCRIPT_NAME.js.

进一步阅读,以及关于此的另一篇文章


备选方案 2:

您可以使用 Docker。我不是很清楚如何使用 Docker 来支持这样的事情,但它“就像”创建一个 Nginx 配置一样简单,它为你做反向代理的事情。


备选方案 3:

使用负载均衡器,它会自动处理反向代理。这也有点复杂,需要更多的学习才能做到。但是,您可以在互联网上找到很多关于此的教程。


推荐阅读