我正在为我的 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'),
}
}
我对这一切都很陌生。你能帮我解决这个问题并建立我的图书馆吗?
你找到问题的解决办法了吗?我也有同样的问题。