Javascript 角度版本更新:重载签名必须全部为环境或非环境

Javascript 角度版本更新:重载签名必须全部为环境或非环境,javascript,angular,typescript,angular5,Javascript,Angular,Typescript,Angular5,我想将当前项目的角度版本更新为最新的角度版本。但面临以下错误:重载签名必须全部为环境或非环境签名 我目前的angular版本是4.4,根据最新的angular版本,我想更新到8.2。 由于不建议一次更新多个angular版本,因此目前我正在从4.4更新到5.2,然后将继续 我遵循了来自的步骤 之后,我删除/卸载了2个特定于Angular2的软件包,因为它们在Angular5中不受支持 angular2忙 angular2 uuid 我还更新了几个对等依赖项及其各自的开发依赖项 @ng引导/ng引

我想将当前项目的角度版本更新为最新的角度版本。但面临以下错误:重载签名必须全部为环境或非环境签名

我目前的angular版本是4.4,根据最新的angular版本,我想更新到8.2。 由于不建议一次更新多个angular版本,因此目前我正在从4.4更新到5.2,然后将继续

我遵循了来自的步骤

之后,我删除/卸载了2个特定于Angular2的软件包,因为它们在Angular5中不受支持

  • angular2忙
  • angular2 uuid
  • 我还更新了几个对等依赖项及其各自的开发依赖项

  • @ng引导/ng引导
  • @ngx翻译/核心
  • codelyzer(更新了其开发依赖项-tslint)
  • 现在,当我尝试运行“ng serve”命令时,我遇到以下错误:

    ERROR in /Volumes/Work/Projects/src/app/readiumjs/readium_reader.d.ts (6,18): Overload signatures must all be ambient or non-ambient.
    ERROR in /Volumes/Work/Projects/src/app/readiumjs/readium_reader.d.ts (7,18): Overload signatures must all be ambient or non-ambient.
    ERROR in /Volumes/Work/Projects/src/lib/epub1.d.ts (14,18): Overload signatures must all be ambient or non-ambient.
    
    这是我的档案:

    package.json-

    "dependencies": {
        "@angular/animations": "^5.2.11",
        "@angular/common": "^5.2.11",
        "@angular/compiler": "^5.2.11",
        "@angular/core": "^5.2.11",
        "@angular/forms": "^5.2.11",
        "@angular/http": "^5.2.11",
        "@angular/material": "2.0.0-beta.6",
        "@angular/platform-browser": "^5.2.11",
        "@angular/platform-browser-dynamic": "^5.2.11",
        "@angular/platform-server": "^5.2.11",
        "@angular/router": "^5.2.11",
        "@ng-bootstrap/ng-bootstrap": "^1.1.1",
        "@ngx-translate/core": "^8.0.0",
        "@ngx-translate/http-loader": "^2.0.0",
        "array-unique": "^0.3.2",
        "classlist.js": "^1.1.20150312",
        "core-js": "^2.4.1",
        "elasticlunr": "^0.9.5",
        "enhanced-resolve": "^3.3.0",
        "font-awesome": "^4.7.0",
        "hammerjs": "^2.0.8",
        "intl": "^1.2.5",
        "normalizr": "^3.3.0",
        "readline": "^1.3.0",
        "rxjs": "^5.5.12",
        "sw-toolbox": "^3.6.0",
        "tether": "^1.4.3",
        "ts-helpers": "^1.1.1",
        "typescript": "^2.4.2",
        "web-animations-js": "2.2.4",
        "zone.js": "^0.8.14"
      },
      "devDependencies": {
        "@angular/cli": "1.2.4",
        "@angular/compiler-cli": "^5.2.11",
        "@compodoc/compodoc": "^1.0.9",
        "@types/jasmine": "2.5.38",
        "@types/jasminewd2": "~2.0.2",
        "@types/node": "~6.0.60",
        "bootstrap": "4.0.0-alpha.6",
        "codelyzer": "^4.0.1",
        "gulp": "^3.9.1",
        "gulp-clean": "^0.3.2",
        "gulp-concat": "^2.6.1",
        "gulp-sync": "^0.1.4",
        "jasmine-core": "~2.5.2",
        "jasmine-spec-reporter": "~3.2.0",
        "jquery": "^3.2.1",
        "jquery-ui-dist": "^1.12.1",
        "karma": "~1.4.1",
        "karma-chrome-launcher": "^2.2.0",
        "karma-cli": "~1.0.1",
        "karma-coverage-istanbul-reporter": "^0.2.0",
        "karma-html-reporter": "^0.2.7",
        "karma-jasmine": "~1.1.0",
        "karma-jasmine-html-reporter": "^0.2.2",
        "karma-phantomjs-launcher": "^1.0.4",
        "phantomjs-prebuilt": "^2.1.16",
        "protractor": "~5.1.2",
        "protractor-html-screenshot-reporter": "0.0.21",
        "protractor-jasmine2-screenshot-reporter": "^0.5.0",
        "sw-precache": "^5.1.1",
        "ts-node": "~3.3.0",
        "tslint": "^5.0.0",
        "typedoc": "^0.5.7"
      }
    
    declare function setBookTitle(bookId: string, bookTitle: string);
    
    function setBookTitle(_bookId, _bookTitle) {
      bookId = _bookId;
      bookTitle = _bookTitle;
    }
    
    setBookTitle(bookId, bookName);
    
    以下是我认为失败的部分代码:

    readium\u reader.d.ts(6,18)-

    "dependencies": {
        "@angular/animations": "^5.2.11",
        "@angular/common": "^5.2.11",
        "@angular/compiler": "^5.2.11",
        "@angular/core": "^5.2.11",
        "@angular/forms": "^5.2.11",
        "@angular/http": "^5.2.11",
        "@angular/material": "2.0.0-beta.6",
        "@angular/platform-browser": "^5.2.11",
        "@angular/platform-browser-dynamic": "^5.2.11",
        "@angular/platform-server": "^5.2.11",
        "@angular/router": "^5.2.11",
        "@ng-bootstrap/ng-bootstrap": "^1.1.1",
        "@ngx-translate/core": "^8.0.0",
        "@ngx-translate/http-loader": "^2.0.0",
        "array-unique": "^0.3.2",
        "classlist.js": "^1.1.20150312",
        "core-js": "^2.4.1",
        "elasticlunr": "^0.9.5",
        "enhanced-resolve": "^3.3.0",
        "font-awesome": "^4.7.0",
        "hammerjs": "^2.0.8",
        "intl": "^1.2.5",
        "normalizr": "^3.3.0",
        "readline": "^1.3.0",
        "rxjs": "^5.5.12",
        "sw-toolbox": "^3.6.0",
        "tether": "^1.4.3",
        "ts-helpers": "^1.1.1",
        "typescript": "^2.4.2",
        "web-animations-js": "2.2.4",
        "zone.js": "^0.8.14"
      },
      "devDependencies": {
        "@angular/cli": "1.2.4",
        "@angular/compiler-cli": "^5.2.11",
        "@compodoc/compodoc": "^1.0.9",
        "@types/jasmine": "2.5.38",
        "@types/jasminewd2": "~2.0.2",
        "@types/node": "~6.0.60",
        "bootstrap": "4.0.0-alpha.6",
        "codelyzer": "^4.0.1",
        "gulp": "^3.9.1",
        "gulp-clean": "^0.3.2",
        "gulp-concat": "^2.6.1",
        "gulp-sync": "^0.1.4",
        "jasmine-core": "~2.5.2",
        "jasmine-spec-reporter": "~3.2.0",
        "jquery": "^3.2.1",
        "jquery-ui-dist": "^1.12.1",
        "karma": "~1.4.1",
        "karma-chrome-launcher": "^2.2.0",
        "karma-cli": "~1.0.1",
        "karma-coverage-istanbul-reporter": "^0.2.0",
        "karma-html-reporter": "^0.2.7",
        "karma-jasmine": "~1.1.0",
        "karma-jasmine-html-reporter": "^0.2.2",
        "karma-phantomjs-launcher": "^1.0.4",
        "phantomjs-prebuilt": "^2.1.16",
        "protractor": "~5.1.2",
        "protractor-html-screenshot-reporter": "0.0.21",
        "protractor-jasmine2-screenshot-reporter": "^0.5.0",
        "sw-precache": "^5.1.1",
        "ts-node": "~3.3.0",
        "tslint": "^5.0.0",
        "typedoc": "^0.5.7"
      }
    
    declare function setBookTitle(bookId: string, bookTitle: string);
    
    function setBookTitle(_bookId, _bookTitle) {
      bookId = _bookId;
      bookTitle = _bookTitle;
    }
    
    setBookTitle(bookId, bookName);
    
    main.js-

    "dependencies": {
        "@angular/animations": "^5.2.11",
        "@angular/common": "^5.2.11",
        "@angular/compiler": "^5.2.11",
        "@angular/core": "^5.2.11",
        "@angular/forms": "^5.2.11",
        "@angular/http": "^5.2.11",
        "@angular/material": "2.0.0-beta.6",
        "@angular/platform-browser": "^5.2.11",
        "@angular/platform-browser-dynamic": "^5.2.11",
        "@angular/platform-server": "^5.2.11",
        "@angular/router": "^5.2.11",
        "@ng-bootstrap/ng-bootstrap": "^1.1.1",
        "@ngx-translate/core": "^8.0.0",
        "@ngx-translate/http-loader": "^2.0.0",
        "array-unique": "^0.3.2",
        "classlist.js": "^1.1.20150312",
        "core-js": "^2.4.1",
        "elasticlunr": "^0.9.5",
        "enhanced-resolve": "^3.3.0",
        "font-awesome": "^4.7.0",
        "hammerjs": "^2.0.8",
        "intl": "^1.2.5",
        "normalizr": "^3.3.0",
        "readline": "^1.3.0",
        "rxjs": "^5.5.12",
        "sw-toolbox": "^3.6.0",
        "tether": "^1.4.3",
        "ts-helpers": "^1.1.1",
        "typescript": "^2.4.2",
        "web-animations-js": "2.2.4",
        "zone.js": "^0.8.14"
      },
      "devDependencies": {
        "@angular/cli": "1.2.4",
        "@angular/compiler-cli": "^5.2.11",
        "@compodoc/compodoc": "^1.0.9",
        "@types/jasmine": "2.5.38",
        "@types/jasminewd2": "~2.0.2",
        "@types/node": "~6.0.60",
        "bootstrap": "4.0.0-alpha.6",
        "codelyzer": "^4.0.1",
        "gulp": "^3.9.1",
        "gulp-clean": "^0.3.2",
        "gulp-concat": "^2.6.1",
        "gulp-sync": "^0.1.4",
        "jasmine-core": "~2.5.2",
        "jasmine-spec-reporter": "~3.2.0",
        "jquery": "^3.2.1",
        "jquery-ui-dist": "^1.12.1",
        "karma": "~1.4.1",
        "karma-chrome-launcher": "^2.2.0",
        "karma-cli": "~1.0.1",
        "karma-coverage-istanbul-reporter": "^0.2.0",
        "karma-html-reporter": "^0.2.7",
        "karma-jasmine": "~1.1.0",
        "karma-jasmine-html-reporter": "^0.2.2",
        "karma-phantomjs-launcher": "^1.0.4",
        "phantomjs-prebuilt": "^2.1.16",
        "protractor": "~5.1.2",
        "protractor-html-screenshot-reporter": "0.0.21",
        "protractor-jasmine2-screenshot-reporter": "^0.5.0",
        "sw-precache": "^5.1.1",
        "ts-node": "~3.3.0",
        "tslint": "^5.0.0",
        "typedoc": "^0.5.7"
      }
    
    declare function setBookTitle(bookId: string, bookTitle: string);
    
    function setBookTitle(_bookId, _bookTitle) {
      bookId = _bookId;
      bookTitle = _bookTitle;
    }
    
    setBookTitle(bookId, bookName);
    
    epubReadiumReaderComponent.ts-

    "dependencies": {
        "@angular/animations": "^5.2.11",
        "@angular/common": "^5.2.11",
        "@angular/compiler": "^5.2.11",
        "@angular/core": "^5.2.11",
        "@angular/forms": "^5.2.11",
        "@angular/http": "^5.2.11",
        "@angular/material": "2.0.0-beta.6",
        "@angular/platform-browser": "^5.2.11",
        "@angular/platform-browser-dynamic": "^5.2.11",
        "@angular/platform-server": "^5.2.11",
        "@angular/router": "^5.2.11",
        "@ng-bootstrap/ng-bootstrap": "^1.1.1",
        "@ngx-translate/core": "^8.0.0",
        "@ngx-translate/http-loader": "^2.0.0",
        "array-unique": "^0.3.2",
        "classlist.js": "^1.1.20150312",
        "core-js": "^2.4.1",
        "elasticlunr": "^0.9.5",
        "enhanced-resolve": "^3.3.0",
        "font-awesome": "^4.7.0",
        "hammerjs": "^2.0.8",
        "intl": "^1.2.5",
        "normalizr": "^3.3.0",
        "readline": "^1.3.0",
        "rxjs": "^5.5.12",
        "sw-toolbox": "^3.6.0",
        "tether": "^1.4.3",
        "ts-helpers": "^1.1.1",
        "typescript": "^2.4.2",
        "web-animations-js": "2.2.4",
        "zone.js": "^0.8.14"
      },
      "devDependencies": {
        "@angular/cli": "1.2.4",
        "@angular/compiler-cli": "^5.2.11",
        "@compodoc/compodoc": "^1.0.9",
        "@types/jasmine": "2.5.38",
        "@types/jasminewd2": "~2.0.2",
        "@types/node": "~6.0.60",
        "bootstrap": "4.0.0-alpha.6",
        "codelyzer": "^4.0.1",
        "gulp": "^3.9.1",
        "gulp-clean": "^0.3.2",
        "gulp-concat": "^2.6.1",
        "gulp-sync": "^0.1.4",
        "jasmine-core": "~2.5.2",
        "jasmine-spec-reporter": "~3.2.0",
        "jquery": "^3.2.1",
        "jquery-ui-dist": "^1.12.1",
        "karma": "~1.4.1",
        "karma-chrome-launcher": "^2.2.0",
        "karma-cli": "~1.0.1",
        "karma-coverage-istanbul-reporter": "^0.2.0",
        "karma-html-reporter": "^0.2.7",
        "karma-jasmine": "~1.1.0",
        "karma-jasmine-html-reporter": "^0.2.2",
        "karma-phantomjs-launcher": "^1.0.4",
        "phantomjs-prebuilt": "^2.1.16",
        "protractor": "~5.1.2",
        "protractor-html-screenshot-reporter": "0.0.21",
        "protractor-jasmine2-screenshot-reporter": "^0.5.0",
        "sw-precache": "^5.1.1",
        "ts-node": "~3.3.0",
        "tslint": "^5.0.0",
        "typedoc": "^0.5.7"
      }
    
    declare function setBookTitle(bookId: string, bookTitle: string);
    
    function setBookTitle(_bookId, _bookTitle) {
      bookId = _bookId;
      bookTitle = _bookTitle;
    }
    
    setBookTitle(bookId, bookName);
    
    注意:我搜索了上述问题的答案,但没有找到合适的解决方案。
    他们中的一些人要求更改函数名,因为它已过载,但对我来说无法工作。

    我不确定。但是您是否尝试将返回类型添加到声明的函数中,如
    声明函数setBookTitle(bookId:string,bookTitle:string):void
    @Sumit是的,我尝试了返回类型void和any,但这两个函数对我都不起作用。它说,
    重载签名
    您是否检查过是否有其他声明了相同名称的函数。这通常是由它引起的。简单的解决方案是将此导出包装到另一个名称空间中,然后使用it@Sumit不,没有其他相同的实例。setBookTitle函数名仅出现三次。