TypeScript:在项目之间共享代码的最简单方法

时间:2018-10-23 19:47:51

标签: typescript shared-libraries monorepo

我正在同时编写一个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/*"]
    }
}

然后我尝试导入一个类,例如:从“ @ shared-types / Types”导入{x} 但这也不起作用,TypeScript说它无法解析该模块。

我不知道为什么做这么简单的事情如此困难,我希望这里的人有一个不错的,干净的解决方案。

0 个答案:

没有答案