我创建了一个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
有人遇到过同样的问题吗?
答案 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)
此youtube视频帮助我解决了以下问题:https://www.youtube.com/watch?v=ji2TtRVlNDQ&t=0s&list=PLgKwx4S6vKoDzRNhzNH8X0cm0lnw6MDIq&index=24
答案 3 :(得分:0)
也许您需要添加yarn add typescript @types/node @types/react @types/react-dom