【问题标题】:React-scripts - Syntax Error: Unexpected token {反应脚本 - 语法错误:意外的令牌 {
【发布时间】:2022-01-06 21:30:31
【问题描述】:

我一直遵循 this 指南从 react-scripts-typescript 升级到 react-scripts 并升级我的脚本以使用 react-scripts。

运行npm run start 会产生以下错误:

     node_modules/webpack-dev-server/lib/Server.js:348
        } catch {
                    ^
        SyntaxError: Unexpected token {
        at createScript (vm.js:80:10)
        at Object.runInThisContext (vm.js:139:10)
        at Module._compile (module.js:617:28)
        at Object.Module._extensions..js (module.js:664:10)
        at Module.load (module.js:566:32)
        at tryModuleLoad (module.js:506:12)
        at Function.Module._load (module.js:498:3)
        at Module.require (module.js:597:17)
        at require (internal/module.js:11:18)
        at Object.<anonymous> (/..mypath/node_modules/react-scripts/scripts/start.js:28:26)

以下是我使用的版本:

  • 反应 = 17
  • 反应脚本 = 5.0
  • 打字稿 = 4.1.2
  • 节点 = 16.13.1

Package.json 文件:

{
  "dependencies": {
    "@types/node": "^17.0.1",
    "@types/react": "^17.0.37",
    "@types/react-dom": "^17.0.11",
    "@types/react-redux": "^7.1.5",
    "apollo-upload-client": "^10.0.1",
    "autotrack": "^2.4.1",
    "core-js": "^3.6.5",
    "d3": "^5.9.2",
    "date-fns": "^2.8.1",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "fetch-mock": "^6.5.2",
    "file-saver": "^1.3.3",
    "graphql": "^15.5.0",
    "graphql-tag": "^2.12.4",
    "history": "^5.0.0",
    "https-localhost": "^4.6.2",
    "material-ui-next-pickers": "0.0.19",
    "mdi-material-ui": "^5.1.1",
    "moment": "^2.24.0",
    "nivo": "^0.31.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-https-redirect": "^1.1.0",
    "react-redux": "^5.0.7",
    "react-router": "^6.0.0-beta.0",
    "react-router-dom": "^6.0.0-beta.0",
    "react-scripts": "^5.0.0",
    "redux-mock-store": "^1.5.3",
    "redux-saga": "^0.1å6.2",
    "redux-saga-test-plan": "^3.7.0",
    "reselect": "^4.0.0",
    "serve": "^11.3.2",
    "typescript": "^4.1.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "... react-scripts build",
    "test": "react-scripts test --env=jsdom --transformIgnorePatterns ....",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "engines": {
    "node": "16.13.1"
  },
  "devDependencies": {}
}


tsconfig.json

{
  "compilerOptions": {
    "module": "esnext",
    "target": "es5",
    "lib": ["dom", "esnext"],
    "sourceMap": true,
    "allowJs": true,
    "jsx": "react-jsx",
    "moduleResolution": "node",
    "rootDir": "",
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "noUnusedLocals": true,
    "allowSyntheticDefaultImports": true,
    "resolveJsonModule": true,
    "alwaysStrict": false,
    "strictFunctionTypes": false,
    "strictPropertyInitialization": false
  }
}

不确定错误来自何处,但这就是我所使用的。期望命令 npm start 启动反应应用程序。

即使没有导入 react17 的一个特性 React,代码也能正常工作。

【问题讨论】:

    标签: node.js reactjs typescript package.json react-scripts


    【解决方案1】:

    我遇到了同样的问题,对我来说这是因为我重新启动了计算机,NVM 将我重置到节点 8,使用 nvm 恢复到 14 为我修复了它。建议您确认您的节点版本。

    【讨论】:

    • 是的,我确定我使用的是使用 nvm 的节点 16.13.1。但是还是不行。
    猜你喜欢
    • 2018-03-29
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多