将gatsby-plugin-typescript添加到GatsbyJS“未定义反应”

时间:2019-01-23 16:12:37

标签: typescript gatsby

我创建了一个Hello World GatsbyJS应用程序,然后添加了typescript插件,我立即收到错误“未定义反应”。我经历了添加“ import * as'react from'react'”的步骤;但是我仍然在/cache/app.js中抛出相同的错误。我不确定下一步要怎么做。

Hello world GatsybyJS:https://www.gatsbyjs.org/tutorial/part-zero/#create-a-gatsby-site

添加打字稿:https://www.gatsbyjs.org/packages/gatsby-plugin-typescript/?=by-config.js

有人遇到过同样的问题吗?

4 个答案:

答案 0 :(得分:7)

在我的情况下,我像这样配置打字稿时遇到了这个问题:

  plugins: [
    {
      resolve: `gatsby-plugin-typescript`,
      options: {
        isTSX: true, // defaults to false
        jsxPragma: `jsx`, // defaults to "React"
        allExtensions: true, // defaults to false
      },
    },
    // (continues...)
  ]

我更改为默认插件:

  plugins: [
    `gatsby-plugin-typescript`,
    // (continues...)
  ]

这为我解决了这个问题。

我从以下文章中找到了此修复程序:https://github.com/ChristopherBiscardi/gatsby-mdx/issues/358

答案 1 :(得分:5)

adding Typescript to Gatsby页面上的此配置

// gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-plugin-typescript`,
        options: {
          isTSX: true, // defaults to false
          jsxPragma: `jsx`, // defaults to "React"
          allExtensions: true, // defaults to false
        },
     },
  ],
}

如果您更改此行

jsxPragma: `jsx`,

jsxPragma: `React`,

您的代码将起作用。

答案 2 :(得分:0)

答案 3 :(得分:0)

也许您需要添加yarn add typescript @types/node @types/react @types/react-dom