【问题标题】:Angular CLI external components projectAngular CLI 外部组件项目
【发布时间】:2018-08-29 16:36:24
【问题描述】:

我正在开发一个 Angular 4 (Angular CLI) 项目。我的主应用程序使用一个 git 存储库 (http://..../main.git)。我有 2 个包含 Angular 4 组件的子项目(http://..../subproject1.githttp://..../subproject2.git)。 p>

这是 ma​​in 应用程序的结构

主应用

|----e2e

|----node_modules

|----src

-----|----应用

---------|----组件

---------|----子模块

-----|----资产

这是 subproject1subproject2 应用程序的结构

子项目1

|----Java代码

-----|----...

|----AngularCode

-----|----组件

------------|----组件1

------------|----组件2

子项目2

|----Java代码

-----|----...

|----AngularCode

-----|----组件

---------|----组件3

---------|----组件4

有什么方法可以“在构建时复制”或为子项目创建符号链接以驻留在文件夹下

主应用

|----...

|----src

-----|----应用

---------|----...

---------|----子模块

------------------|----subproject1 //AngularCode 文件夹 em>

-----------------|----subproject2 //AngularCode 文件夹 em>

ng build 阶段运行之前,Angular CLI 可以识别我的两个子模块吗?

【问题讨论】:

    标签: node.js angular npm angular-cli


    【解决方案1】:

    好的,所以我想我想通了。我需要将我的 git 子模块定义为 Angular 模块,并使用 ng-packagr 工具将它们打包。之后,我需要将它们作为常规 Angular 模块依赖项安装在我的主项目中。

    更多参考可以查看项目official url

    【讨论】:

      【解决方案2】:

      您实际上可以使用肠道子模块:https://git-scm.com/book/en/v2/Git-Tools-Submodules

      基本上,您可以使用它们将 git repo 注册为另一个 git repo 的子模块。在你的主仓库中,git 总是跟踪一个特定的提交作为对你的子模块的引用。 如果您对子模块进行更改,则可以使用 git submodule update - - remote 简单地更新到最新提交。

      您也可以只处理主项目中的子模块,然后检查子模块中的更改,然后更新主存储库中的引用!

      通读文档可能很有用,但我想说这正是您想要的!

      【讨论】:

      • 不完全是。我的 git 子模块包含其他信息和文件(主要是 java 代码)。基本上,我的 git 子模块有一个用于 java 代码(Spring java 后端代码)的子文件夹,一个用于 Angular 5 代码的子文件夹。我只需要将 Angular 部分复制/移动到我的 Angular 主应用程序中。我更新了我的问题以反映这一点。
      • 在这种情况下,我建议你看看这个问题:stackoverflow.com/questions/5303496/… 通常子模块不允许你这样做,这种情况只能使用某种解决方法来实现,例如在链接的问题中提到!
      • 问题不在于 git 子模块,而在于构建工具和 Angular cli。我需要的是某种处理构建过程的机制,它能够复制位于主应用程序文件夹外部路径中的角度子模块(不是 git 子模块)。该机制应该能够在构建过程开始之前将这些子模块复制到应用程序构建路径。我有一个 AngularJS 项目(不是 Angular),它使用这个原理并使用 Grunt 作为构建工具,我需要知道使用 Angular 4+ 实现这一目标所需的工具是什么
      • 开箱即用,您不会在 Angular CLI 本身中找到执行此操作的实用程序。正如您所说,您可以简单地使用 grunt 或 gulp,设置复制逻辑,然后在复制完成后自动执行构建命令。更简单的是一个更适合复制任务的 bash 脚本,然后您只需在执行“copy.sh && ng build”的 package.json 中创建一个“copy-build”脚本,这样您就可以简单地运行“npm run copy-build”,甚至不需要使用额外的工具。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多