我正在编写一个 React.js 应用程序和一个 React Native 应用程序,它们都作为 Lerna monorepo 中的单独 NPM 包。我想要做的是有一个“共享库”类型的项目,它可以保存两个项目共享的 TypeScript 文件,而且看起来几乎不可能以一种简单而干净的方式来做。
如果我将共享库创建为 NPM 包,即使我对它进行符号链接,我也需要在它发生更改时重新编译它。我正在寻找一种将 TypeScript 文件直接从共享项目导入到 React.js 和 React Native App 的编译过程中的方法。
我还阅读了有关 tsconfig.json “路径”设置的信息,并尝试执行以下操作:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@shared-types/*": ["../@test-shared/test-shared-types/lib/*"]
}
}
然后我尝试导入一个类,例如: import { x } from "@shared-types/Types" 但这也不起作用,TypeScript 说它无法解析模块。
我不知道为什么做这么简单的事情如此困难,我希望这里有人有一个好的、干净的解决方案。