如何解决在新的 create-react-app 项目中通过“as”关键字键入断言会导致`解析错误:意外标记,预期为“;”`
我通过 yarn create react-app my-app --template typescript
创建了一个新的 CRA 项目,但在运行开发服务器 (yarn start
) 时出现以下错误:
src/App.tsx
Line 5:24: Parsing error: Unexpected token,expected ";"
3 | import "./App.css";
4 |
> 5 | const _window = window as any;
| ^
6 |
7 | const App: FC<{}> = () => {
8 | return <div />;
我只在 cra 服务器中得到错误,IDE Typescript 引擎认为代码没有问题。什么可能导致这种情况?
我的 package.json:
{
"name": "xxx","version": "0.1.0","private": true,"dependencies": {
"@emotion/react": "^11.1.4","@testing-library/jest-dom": "^5.11.4","@testing-library/react": "^11.1.0","@testing-library/user-event": "^12.1.10","@types/jest": "^26.0.15","@types/node": "^12.0.0","@types/react": "^16.9.53","@types/react-dom": "^16.9.8","@types/react-redux": "^7.1.14","react": "^17.0.1","react-dom": "^17.0.1","react-redux": "^7.2.2","react-scripts": "4.0.1","redux": "^4.0.5","redux-thunk": "^2.3.0","ts-action": "^11.0.0","ts-action-immer": "^3.0.3","typescript": "^4.1.0","web-vitals": "^0.2.4"
},"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.9.1","@typescript-eslint/parser": "^4.9.1","babel-eslint": "^10.1.0","eslint": "^7.15.0","eslint-config-airbnb": "^18.2.1","eslint-config-react-app": "^6.0.0","eslint-plugin-import": "^2.22.1","eslint-plugin-jsx-a11y": "^6.4.1","eslint-plugin-react": "^7.21.5","eslint-plugin-react-hooks": "^4.2.0","prettier": "^2.2.1"
},"scripts": {
"start": "react-scripts start","build": "react-scripts build","test": "react-scripts test","eject": "react-scripts eject"
},"browserslist": {
"production": [
">0.2%","not dead","not op_mini all"
],"development": [
"last 1 chrome version","last 1 firefox version","last 1 safari version"
]
}
}
tsconfig.json:
{
"compilerOptions": {
"target": "es5","lib": [
"dom","dom.iterable","esnext"
],"allowJs": true,"skipLibCheck": true,"esModuleInterop": true,"allowSyntheticDefaultImports": true,"strict": true,"forceConsistentCasingInFileNames": true,"noFallthroughCasesInSwitch": true,"module": "esnext","moduleResolution": "node","resolveJsonModule": true,"isolatedModules": true,"noEmit": true,"jsx": "react-jsx","types": ["@emotion/react"]
},"include": [
"src"
]
}
不确定我可以提供哪些其他有用/相关的信息,尽管 SO 强迫我在这里写一些东西让我发布...
解决方法
将现有的 CRA 应用程序从 3.x 版更新到 4.x 版后,我遇到了同样的问题。将我的配置文件与新创建的 CRA 应用程序进行比较,我发现我的 package.json 缺少以下 eslint 配置
"eslintConfig": {
"extends": [
"react-app","react-app/jest"
]
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。