【问题标题】:In my Angular 6 Project I have put GOjs library it is giving TS compile errors在我的 Angular 6 项目中,我放置了 GOjs 库,它给出了 TS 编译错误
【发布时间】:2019-02-21 14:01:05
【问题描述】:

我刚刚将 Gojs 包含在我当前的 Angular 项目中。

我遵循的步骤

npm install gojs --save

在我的应用组件中,我刚刚导入了 gojs

import * as go from 'gojs';

之后,当我运行 ng serve/build 时,我遇到了以下错误。

RROR in node_modules/gojs/release/go.d.ts(14239,27): error TS1005: ')' expected.
node_modules/gojs/release/go.d.ts(14239,45): error TS1005: ',' expected.
node_modules/gojs/release/go.d.ts(14239,68): error TS1005: ',' expected.
node_modules/gojs/release/go.d.ts(14240,16): error TS1005: ',' expected.
node_modules/gojs/release/go.d.ts(14240,38): error TS1005: ',' expected.
node_modules/gojs/release/go.d.ts(14241,43): error TS1005: ',' expected.
node_modules/gojs/release/go.d.ts(14242,5): error TS1138: Parameter declaration expected.
node_modules/gojs/release/go.d.ts(14242,7): error TS1128: Declaration or statement expected.
node_modules/gojs/release/go.d.ts(14242,11): error TS1128: Declaration or statement expected.
node_modules/gojs/release/go.d.ts(14242,12): error TS1128: Declaration or statement expected.
node_modules/gojs/release/go.d.ts(14242,14): 

Pacakage.json

"@angular/cli": "~6.0.3",
"@angular/compiler-cli": "~6.0.2",
"@angular/language-service": "~6.0.2",

"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",

"gulp": "^4.0.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^3.1.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~1.4.2",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "~0.2.2",
"minimist": "~1.2.0",
"ng-packagr": "~3.0.0-rc.2",
"protractor": "^5.4.1",
"ts-node": "~5.0.1",
"tsickle": ">=0.25.5",
"tslib": "~1.7.1",
"tslint": "~5.9.1",
"typescript": "^2.7.2"

【问题讨论】:

    标签: javascript angular gojs


    【解决方案1】:

    您需要升级您的 TypeScript 版本。
    go.d.ts 文件需要 v2.8。
    要升级您当前的 TypeScript Verison,请执行以下操作:npm install -g typescript@latest

    【讨论】:

    • Angular 有一个特定的 TypeScript 版本 依赖,小心升级 TypeScript 而不考虑副作用。升级 Angular 可能会更好,这通常可以很容易地使用 ng upgrade 完成。
    • 感谢您的警告,您能告诉我有关 ng upgrade 及其工作原理的更多信息吗?
    • 使用 GoJS 的 v1.8.*,而不是 GoJS 的 v2.0.*。
    • @OfirLana 当然! Angular CLI(它有一个名为ng update 的命令行二进制文件)将为您完成大部分升级过程。例如,当 RxJS 迁移到 pipe() 范式时,它会将我的服务从链式 http.get().map() 重写为 http.get().pipe(map())。以及管理依赖等等。
    • @Overflowrun 我会强烈建议您尝试ng update,看看它是否有效。您不一定需要更新其他依赖项。也是沃尔特所说的。我正在运行一个巨大的应用程序,其中包含一些出于兼容性原因而被冻结的部门,但我仍然可以升级它们周围的大部分 Angular。
    【解决方案2】:

    感谢@walter Northwoods,

    我刚刚将 GOJS 2.* 降级为 1.8*

    npm install gojs@1.8.34 
    

    解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 2013-10-08
      相关资源
      最近更新 更多