【问题标题】:Does Gatsby with Typescript Use tsconfig.jsonGatsby 与 Typescript 是否使用 tsconfig.json
【发布时间】:2021-07-29 13:20:52
【问题描述】:

许多博客文章和 Gatsby JS 网站上的 using-typescript 示例显示在使用自动包含的 gatsby-plugin-typescript 对 Gatsby 的 TypeScript 支持时使用 tsconfig.json 文件。 我不认为tsconfig.json 文件被用于配置,并想问我是否正确。

Gatsby 使用 @babel/plugin-transform-typescript 将 TS 编译为 JS,而 Babel 插件有 detailed docs 模仿 tsc TypeScript 编译器的选项。文档是这样说的:

对 tsconfig.json 的更改不会反映在 babel 中。构建过程将始终表现得好像打开了 isolatedModules,但是有 Babel-native 替代方法来设置许多 tsconfig.json 选项。

我是否遗漏了为什么 Gatsby 的所有 TypeScript 设置都显示 tsconfig.json 文件和配置,而该文件似乎从未被 Gatsby 使用?

【问题讨论】:

    标签: javascript typescript babeljs gatsby tsconfig


    【解决方案1】:

    在 Gatsby 项目中维护tsconfig.json 文件至少有三个原因:

    • 像 Jest 这样的测试框架不会使用内部 Gatsby 配置,需要一些关于如何处理 TypeScript 文件的指导
    • 像 VS Code 这样的代码编辑器面临与 Jest 类似的限制,因此例如 VSCode 中的 TypeScript Server 需要该配置
    • 像 ESLint 这样的 Linting 库也使用 tsconfig.json 文件。

    一个严重的问题是,将 TypeScript 与 Babel 一起使用(就像 Gatsby 所做的那样)不会进行类型检查,因此无论您在什么上运行 Gatsby 开发服务器(如控制台)和您正在使用的其他工具,例如 VS Code 的“输出”选项卡。

    【讨论】:

      猜你喜欢
      • 2017-07-14
      • 2020-03-13
      • 1970-01-01
      • 2022-10-22
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      • 2016-07-09
      • 2015-12-04
      相关资源
      最近更新 更多