代码之家  ›  专栏  ›  技术社区  ›  Olivier MATROT

错误TS2300:重复的标识符“requestinfo”

  •  8
  • Olivier MATROT  · 技术社区  · 7 年前

    我在一个reactxp项目中工作,必须使用react native native modules .

    所以我将react本机类型作为一个开发依赖项。

    我的项目当前未编译,出现以下错误:

    node_modules/@types/react-native/globals.d.ts(92,14): error TS2300: Duplicate identifier 'RequestInfo'.
    node_modules/@types/react-native/index.d.ts(8751,11): error TS2451: Cannot redeclare block-scoped variable 'console'.
    node_modules/@types/react-native/index.d.ts(8759,18): error TS2717: Subsequent property declarations must have the same type.  Property 'geolocation' must be of type 'Geolocation', but here has type 'GeolocationStatic'.
    node_modules/@types/react-native/index.d.ts(8762,11): error TS2451: Cannot redeclare block-scoped variable 'navigator'.
    node_modules/typescript/lib/lib.dom.d.ts(15764,13): error TS2451: Cannot redeclare block-scoped variable'navigator'.
    node_modules/typescript/lib/lib.dom.d.ts(15940,13): error TS2451: Cannot redeclare block-scoped variable'console'.
    node_modules/typescript/lib/lib.dom.d.ts(15997,6): error TS2300: Duplicate identifier 'RequestInfo'.
    18:17:44 - Compilation complete. Watching for file changes.
    

    以下是my package.json文件:

    "dependencies": {
            "react": "^16.4.0",
            "react-dom": "^16.3.1",
            "react-native": "^0.55.4",
            "react-native-windows": "^0.54.0",
            "reactxp": "^1.2.1"
        },
        "devDependencies": {
            "@types/react-native": "^0.55.16",
            "@types/webpack": "^4.1.3",
            "@types/node": "9.6.7",
            "@types/react-dom": "^16.0.5",
            "awesome-typescript-loader": "^5.0.0",
            "rnpm-plugin-windows": "^0.2.8",
            "source-map-loader": "^0.2.3",
            "ts-node": "^5.0.1",
            "tslint": "^5.9.1",
            "tslint-microsoft-contrib": "^5.0.3",
            "typescript": "^2.8.1",
            "webpack": "^4.5.0",
            "webpack-cli": "^2.0.13"
        }
    

    和tsconfig.json文件

    {
      "exclude": [
        "node_modules"
      ],
      "compilerOptions": {
        "declaration": false,
        "noResolve": false,
        "jsx": "react",
        "reactNamespace": "RX",
        "module": "commonjs",
        "target": "es5",
        "experimentalDecorators": true,
        "sourceMap": true,
        "noImplicitAny": true,
        "noImplicitReturns": true,
        "outDir": "./dist/",
        "types": [
          "lodash",
          "react",
          "react-dom"
        ],
        "lib": [
          "es6",
          "dom"
        ],
      },
      "include": [
        "./src/ts/**/*"
      ]
    }
    

    我不明白我做错了什么。

    感谢任何帮助。

    2 回复  |  直到 7 年前
        1
  •  15
  •   inDream    7 年前

    添加 "skipLibCheck": true 在tsconfig.json中

    裁判: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/16825

        2
  •  0
  •   M B    7 年前

    我补充说 "skipLibCheck": true "allowSyntheticDefaultImports": true 发送给tsconfig.js。