我正在构建一个库,其中在React中包含约8k个图标的图标集。 4k填充和4k笔划(基于Nova图标)。
该库正在使用打字稿及其编译器。
一切都很酷,直到我添加了这些8k图标。现在,打字稿编译器/加载器非常慢。构建或运行开发服务器(故事书)需要5分钟以上的时间。甚至没有谈论永远运行的travis版本。
因此,我想到了切换到一个较大的index.tsx
而不是每个图标使用一个模块的问题。有了这个故事书,运行速度会更快。但是运行tsc
会永远挂起。对于大型文件,tsc
的运行速度也很慢。
这是我的tsconfig.json:
{
"compilerOptions": {
"declaration": true,
"target": "es5",
"esModuleInterop": true,
"jsx": "react",
"moduleResolution": "Node",
"allowSyntheticDefaultImports": true,
"skipLibCheck": true
},
"exclude": [
"src/**/*"
]
"exclude": [
"test/**/*"
]
}
我已经尽一切努力使Typescript能够很好地处理这8k图标,但是我很不走运。
作为最后的选择,我决定手动提供index.d.ts
和index.js
。我已将tsconfig切换为allowJs,但是tsc
仍然挂起。这是我的tsconfig:
{
"compilerOptions": {
"allowJs": true,
"target": "es5",
"esModuleInterop": true,
"jsx": "react",
"moduleResolution": "Node",
"allowSyntheticDefaultImports": true,
"skipLibCheck": true
},
"exclude": [
"test/**/*"
]
}
问题:由于index.js
已经存在,我如何使Typescript跳过对index.d.ts
的求值?甚至更好的是,如何在React中使用8k图标使TypeScript快速运行?