具有预定义的TypeScript编译器

时间:2019-01-03 17:42:34

标签: javascript reactjs typescript typescript-compiler-api

我正在构建一个库,其中在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.tsindex.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快速运行?

0 个答案:

没有答案