配置路径别名以在 Nx monorepo 中构建输出

问题描述 投票:0回答:1

我正在为我的 SolidJS 前端应用程序开发一个 Nx monorepo,它依赖于我自己的库(一些是纯 TypeScript,其他是 SolidJS 库)。

当我运行“nxserve myMainApp”时,它运行良好,路径别名被正确解析(它们在 tsconfig.base.json 和 myMainApp 的 vite.config.ts 文件中定义)。他们直接引用源文件(例如:“@myOrg/myLib”:[“libs/myLib/src/index.ts”])。

但我想配置该项目以进行生产构建。所以我希望我的路径别名引用 dist/ 中库的构建输出,而不是源文件。 为此,我重写了 myLibB 的 tsconfig.lib.json 中 tsconfig.base.json 的路径别名(这取决于 myLibA,并且 myLibA 似乎已正确构建):

"compilerOptions": {
    "paths": {
      "@myOrg/myLibA": ["../../dist/libs/myLibA"]
    }
  }

但是当我尝试执行 nx build myLibB 时,出现以下 TSError: error TS2307: Cannot find module '@myOrg/myLibA' 或其相应的类型声明。

我还在 myLibB 的 vite.config.ts 中设置了 myLibA 的路径别名,检查构建输出的路径似乎是正确的:

resolve: {
    alias: {
      '@myOrg/myLibA': path.resolve(__dirname, '../../dist/libs/myLibA'),
    }
  }
dist/libs/myLibA文件夹中确实有一个index.d.ts文件,并且它导出了其他.d.ts文件。

我对这一切都很陌生。你能帮我解决这个问题并建立我的图书馆吗?

javascript typescript path vite nx-monorepo
1个回答
0
投票

你找到问题的解决办法了吗?我也有同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.