reactjs - 带有打字稿的故事书没有将 tsx 文件称为打字稿文件-“解析错误:缺少分号”
问题描述
我只是不明白它为什么会发生,我试图修复它几个星期,然后在我的故事中回到 javascript。
这是重现错误的分支。这是完整的项目。在./examples中,您将看到使用带有打字稿和故事书的 react-react-app 运行的演示应用程序。在里面你会看到src/stories/Xarrow.stories.tsx在运行yarn storybook
throwing 时Parsing error: Missing semicolon.
就像我试图将 typescript 放在 javascript 文件中一样。
我正在使用故事书 v6.2.9,它应该支持自 v6.0.2beta 以来开箱即用的打字稿
这是一个用于快速预览的 gitpod:https ://gitpod.io/#https://github.com/Eliav2/react-xarrows/blob/storybook-typescript-bug
等到依赖项安装完成(您将在此处看到示例预览弹出窗口:3000)。然后打开新终端cd ./example
并运行yarn storybook
。你会看到完全相同的错误。
这个问题已经存在了几个星期,我不太清楚为什么。
任何想法?我已经尝试删除并重新安装故事书,但这没有用。
笔记:
- 由于 babel-loader 和 react-scripts 之间的依赖冲突,我不得不做一个技巧 - 带有 SKIP_PREFLIGHT_CHECK=true 的 .env 文件以允许依赖冲突,但我真的不知道这是否与我的问题有关。
- 完整的项目仅包含在 package.json 和 tsconfig.json 文件等项目文件中。
- ./ 和 ./example 中有 tsconfig.json
任何想法将不胜感激!
解决方案
这是 eslint 的问题。我在不适合演示项目的根目录中有 .estlintrc 配置文件。
我更新了 .eslintrc 文件以支持我使用的打字稿(如此处所述)并且错误消失了。
{
"parser": "@typescript-eslint/parser",
"plugins": [
"import",
"@typescript-eslint"
],
"rules": {
// turn on errors for missing imports
"import/no-unresolved": "error"
},
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [
".ts",
".tsx"
]
},
"import/resolver": {
"typescript": {
"alwaysTryTypes": true
// always try to resolve types under `<root>@types` directory even it doesn't contain any source code, like `@types/unist`
},
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
},
"parserOptions": {
"ecmaVersion": 2021
},
"env": {
"es6": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
]
}
推荐阅读
- wordpress - WordPress:wordpress/wp-content/themes/abdelkhalek/css/bootstrap.main.css?ver=5.7.1 net::ERR_ABORTED 404(未找到)
- shapes - VISIO 2013 打开后从第一页自动更新文本
- javascript - 使用 Reactjs 不支持的 Mediatype Axios
- r - 闪亮的应用程序未在闪亮应用程序.io 上运行:与字体有关?
- javascript - yAxis标签上方的Highcharts股票图表溢出
- python - 如何避免在 aiosqlite 中建立新连接
- android - NavController 如何替换菜单片段
- javascript - chartjs-plugin-annotation 无法在折线图的 y 轴上进行自动调整
- assembly - 在 6 个寄存器中找到最大值,汇编 X86
- javascript - IOS 上的 PWA 推送通知