Последующие объявления свойств должны иметь ту же ошибку типа в: node_modules/@types/jquery/index.d.ts - PullRequest
0 голосов
/ 14 апреля 2019

Внезапно, при попытке создать сборку с веб-пакетом и AOT, я получил следующую ошибку:

ОШИБКА в node_modules/@types/jquery/index.d.ts (8186,5): ошибка TS2717: последующие объявления свойств должны иметь тот же тип. Свойство 'char' должно иметь тип 'string', но здесь имеет тип 'any'. node_modules/@types/jquery/index.d.ts (8188,5): ошибка TS2717: последующие объявления свойств должны иметь одинаковый тип. Свойство 'key' должно иметь тип 'string', но здесь имеет тип 'any'.

Я прочитал несколько обсуждений по этому вопросу, но не нашел ни одного, который бы помог мне.

1) попытался очистить модули узлов с помощью "npm prune", а затем установить npm.

Как очистить папку node_modules от пакетов, которых нет в package.json?

2) затем https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types и https://github.com/ionic-team/ionic-cli/issues/3541, чтобы проверить типы: [] в моем tsconfig:

{
   "compilerOptions": {
      "allowJs": true,
      "module": "es6",
      "target": "es5",
      "baseUrl": "/",
      "declaration": false,
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "lib": [
         "dom",
         "es7"
      ],
      "mapRoot": "./",
      "moduleResolution": "node",
      "outDir": "dist/out-tsc",
      "sourceMap": true,
      "typeRoots": [
         "node_modules/@types",
         "hammerjs"
      ],
      "types": [
         "node",
         "jasmine"
      ]
   },

Не понимаю, почему я получил ошибку из файлов Jquery, поскольку они не должны быть частью компиляции, если я правильно понял ....

3) Я даже пытался просто проследить за ошибкой и изменить тип «any» на «string» и посмотреть, что произойдет. результаты были частичной сборкой с использованием только 1 фрагмента js 5

вот мои зависимости от package.json:

    "dependencies": {
        "@angular-mdl/core": "^6.0.0",
        "@angular/animations": "^6.1.7",
        "@angular/cdk": "^6.1.0",
        "@angular/common": "^6.1.9",
        "@angular/compiler": "^6.0.0",
        "@angular/core": "^6.0.0",
        "@angular/forms": "^6.0.0",
        "@angular/http": "^6.0.0",
        "@angular/material": "^6.1.0",
        "@angular/platform-browser": "^6.0.0",
        "@angular/platform-browser-dynamic": "^6.0.0",
        "@angular/platform-server": "^6.0.0",
        "@angular/router": "^6.0.0",
        "@angular/upgrade": "^6.0.0",
        "@auth0/angular-jwt": "^1.1.0",
        "@ng-bootstrap/ng-bootstrap": "^2.0.0",
        "@swimlane/ngx-charts": "^7.0.1",
        "@types/adal-angular": "^1.0.1",
        "angular": "^1.6.9",
        "angular-font-awesome": "*",
        "angular2-focus": "^1.1.2",
        "angular2-highcharts": "^0.5.5",
        "chart.js": "^2.7.2",
        "clone-deep": "^4.0.0",
        "core-js": "^2.4.1",
        "d3": "^4.13.0",
        "deep-equal": "^1.0.1",
        "file-saver": "^1.3.8",
        "font-awesome": "^4.7.0",
        "hammerjs": "^2.0.8",
        "i": "^0.3.6",
        "is-deep-equal": "^1.0.3",
        "jquery": "^3.3.1",
        "jsonwebtoken": "^8.2.0",
        "jwt-decode": "^2.2.0",
        "material-design-icons": "^3.0.1",
        "microsoft-adal-angular6": "^1.3.0",
        "moment": "^2.23.0",
        "moment-with-locales-es6": "^1.0.1",
        "ng-inline-svg": "^6.0.0",
        "ng2-completer": "^1.6.3",
        "ng2-dropdown-multiselect": "^1.2.0",
        "ng2-file-upload": "^1.3.0",
        "ng2-kw-gauge": "^0.0.8",
        "ng2-password-strength-bar": "^1.2.0",
        "ng2-select": "^2.0.0",
        "ngc": "^1.0.0",
        "ngx-bootstrap": "^2.0.3",
        "ngx-pipes": "^2.1.2",
        "ngx-popper": "^2.7.1",
        "npm": "^6.9.0",
        "object-fit-images": "^3.2.3",
        "object-hash": "^1.3.0",
        "popper.js": "^1.14.4",
        "primeicons": "^1.0.0-beta.10",
        "primeng": "^6.1.2",
        "request": "^2.88.0",
        "rxjs": "^6.3.3",
        "rxjs-compat": "^6.1.0",
        "tether": "^1.4.5",
        "ts-helpers": "^1.1.2",
        "webpack": "^4.8.3",
        "zone.js": "^0.8.5"
    },

Не могли бы вы попытаться помочь мне найти проблему? как я могу узнать, что вызвало это, и если это действительно из-за столкновения 2 типов, как я могу узнать, какой файл является причиной проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...