【问题标题】:Nx Workspace: Angular CLI does not find file path after migrate to NXNx 工作区:Angular CLI 在迁移到 NX 后找不到文件路径
【发布时间】:2022-01-28 05:42:05
【问题描述】:

我正在尝试将 Angular CLI 应用程序迁移到 Nx。我的主要目标是将我的整个应用程序变成一个大型 nx 项目,然后逐渐将其拆分为小型远程应用程序和共享库

执行命令 ng add @nrwl/workspace 并将我的应用程序移动到应用程序//src,创建 nx.json,创建更漂亮的配置文件......我认为一切都很顺利,但是,我在应用程序文件夹中的组件找不到任何文件路径。

我已经创建了 tsconfig.base.json 的路径,但是组件仍然找不到文件路径。有没有我遗漏的配置?

tsconfig.base.json

 "paths": {
      "@bulk-components/*": [
        "apps/portal-alelo-auto/src/app/shared/components/bulk/*"
      ]

组件示例 app/portal-alelo-auto/src/app/quick-search/card-detail/reissue/reissue.component.ts

import { CustomerType } from 'src/app/shared/enum'; //
import { MessageModule } from '@bulk-components/shared/message/message.module';

【问题讨论】:

    标签: angular micro-frontend nomachine-nx nx-workspace


    【解决方案1】:

    您最好的选择是使用与您当前拥有的 Angular 版本兼容的 nx 版本创建一个新工作区。

    首先创建两个工作空间,一个用作参考,一个用于将项目迁移到其中。

    用他想要的版本替换“最新”,并执行两次 (当询问“预设”时,选择角度)

    npx create-nx-workspace@latest  
    

    这将在每个工作区中创建一个应用程序(official docs 中的更多信息)

    安装 cli 以获得更好的 nx 体验:

    npm install -g nx
    

    使用<workspace-base>/apps/<your app>/src作为基本文件夹我将调用它base

    1. 将以下文件移至基础文件夹,覆盖现有文件:
    • index.html
    • main.ts
    • styles.scss
    • favicon.ico(如果有你的)
    1. 从基础级别忽略所有其他文件

    2. 将所有剩余的应用文件夹复制到<workspace-base>/apps/<your app>/src/app

    3. 将您的应用使用的库添加到<workspace-base>/package.json(除了角度依赖项)。

    4. 运行npm i

    现在让我们尝试使用 nx 运行您的应用。

    运行

    nx serve <your app>
    

    在您的应用文件中可能会有一些需要调整的导入,但在您选择的 IDE 中替换所有命令并不能解决任何问题。

    确保您查阅参考工作区以验证您是否对 nx 基础文件进行了过多更改(当您需要时)。

    提供比这更多的说明是相当困难的,因为每个应用程序都有其特点,但这是通往荣耀的道路!

    此手动迁移到 nx 的替代方法是运行来自 nx official documentation 的指令。老实说,仅使用那里的说明我从来没有成功过,而且我已经将很多 Angular 项目迁移到了 nx。

    【讨论】:

      猜你喜欢
      • 2022-06-12
      • 2022-08-06
      • 1970-01-01
      • 2021-06-04
      • 2022-12-16
      • 2021-05-21
      • 2020-03-21
      • 2022-11-30
      相关资源
      最近更新 更多