javascript - 带有来自 Typescript 的路径的 Monorepo 不起作用

标签 javascript typescript tsconfig monorepo yarn-workspaces

我有具有以下文件结构的 monorepo( yarn 工作区):

├── client                (workspace @client)
│   ├── package.json
│   └── tsconfig.json     (extended tsconfig)
├── server                (workspace @server)
│   ├── getData.ts
│   ├── package.json
│   └── tsconfig.json     (extended tsconfig)
├── shared
│   └── sanitizeData.ts
├── package.json          (monorepo root)
└── tsconfig.json         (base tsconfig)

我想使用 shared/sanitizeData.ts 中的函数在 server/getData.ts
我尝试使用 paths来自 Typescript,根据文档,它看起来很简单,但我做错了:
error TS2307: Cannot find module '@shared/sanitizeData'.
server/tsconfig.json :
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "baseUrl": ".",
    "rootDir": "../",
    "outDir": "build",
    "paths": {
      "@shared/*": ["shared/*"]
    }
  }
}
server/getData.js :

import { sanitizeData } from "@shared/sanitizeData";

请问你能帮帮我吗?

最佳答案

路径相对于 baseUrl ,因此在您的情况下,您必须替换 ["shared/*"]["../shared/*"]

关于javascript - 带有来自 Typescript 的路径的 Monorepo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58554760/

相关文章:

typescript - 将静态方法定义为当前类的返回实例

TypeScript - 删除具有特定类型的所有属性

javascript - NestJS:在自定义模块中使用 forRoot/forChild - 竞争条件?

javascript - Angular 2 - TypeError undefined 不是数组包含的函数

TypeScript 2.1+ tsconfig 扩展

javascript - 如何构建多阶段 Web 表单?

javascript - 'name'是怎么变成全局变量的?

javascript - 无法使 Lightbox2 在 Django 中工作

javascript - 单击时用JQuery水平滑出内容,再次单击关闭?

typescript - Nuxt TypeScript 错误 : nuxt:typescript Cannot find module '@/my-module'