首页 > 解决方案 > nx React/Next.js 共享类型声明文件

问题描述

我的工作区中有一个nx Next.js 应用程序,我正在使用styled-components所以我styled.d.ts为我的主题的类型声明创建了一个文件,如docs中所述。我将它放在我的根目录上app并按预期工作:

workspace
└── apps
    └── app
        └── styled.d.ts

但是现在,我创建了一个组件库并想在那里使用我的主题类型定义,所以我复制styled.d.tslibs/

workspace
├── apps
│   └── app
│       └── styled.d.ts
└── libs
    └── components-library
        └── styled.d.ts

这有效,我在应用程序和组件库上都有我的主题类型定义,但我正在复制文件。我尝试将它放在工作区的根目录上,但没有奏效。

关于如何在styled.d.ts不复制的情况下分享的任何想法?

标签: reactjstypescriptnext.js

解决方案


我们还使用带有类型声明文件的样式化组件。为了在多个应用程序和库中使用它,我们types在根级别创建了一个文件夹。在那里我们放置声明文件。例如types/styled-components/index.d.ts.

接下来转到您的tsconfig.lib.jsonand tsconfig.app.json。在里面扩展files新类型的部分:

  "files": [
    "...",
    "../../types/styled-components/index.d.ts",
  ],

推荐阅读