luk*_*ine 19 typescript reactjs monorepo next.js nrwl-nx
我一直在网上寻找解决我的问题的好方法,但到目前为止我还没有。
我有一个带有 NextJS 的 NX monorepo,我正在尝试创建一个types/可供我的所有应用程序和库使用的全局文件夹。
我原以为这会很简单,我会在根目录中添加一个文件夹并将所有文件放在.d.ts那里。然后在 tsconfig.base.json 中我添加
"typeRoots": [
"node_modules/@types",
"node_modules/next/types",
"types/"
]
Run Code Online (Sandbox Code Playgroud)
我希望事情就这么简单。
允许我在 monorepo 中的任何地方使用我的输入,而无需导入它们。
不幸的是,这不起作用。经过大量的混乱后,我确实设法让它工作,但前提是该types/文件夹位于应用程序内部,例如:
apps/
/myApp/
/types/ <- types here were detected
types/ <- types here were not detected
tsconfig.base.json
Run Code Online (Sandbox Code Playgroud)
这对我来说没有好处,因为这意味着我必须在所有应用程序和库中复制我的类型。
NX 的官方建议是添加一个新的库来存储您的类型,然后导入它并在每个应用程序和库中使用它,但这对我来说真的很笨重。typeRoots另外,这并不真正适用于将其添加到tsbase.config.json 中的想法
如果有人知道更好的方法可以做到这一点,我很想听听。
干杯。
小智 12
现在正在与同样的问题作斗争。到目前为止,这适用于我的项目,但它仍然不是一个理想的解决方案。我更愿意有一个全球供应商。
apps/
/myApp/
tsconfig.app.json
types/ <- add your .d.ts files here
tsconfig.base.json
Run Code Online (Sandbox Code Playgroud)
在tsconfig.app.json每个应用程序的 中添加以下内容:
"include": ["../../types/**/*.d.ts"]
Run Code Online (Sandbox Code Playgroud)
这将导入存储在全局文件夹中的所有类型定义。但配置仍然需要在每个库和应用程序中手动处理。
让我知道这是否有帮助或者您是否找到了更好的解决方案。
| 归档时间: |
|
| 查看次数: |
13874 次 |
| 最近记录: |