如何在 Angular 6 中将 ag-grid 从版本 18.1.0 更新到 20.1.0?

Posted

技术标签:

【中文标题】如何在 Angular 6 中将 ag-grid 从版本 18.1.0 更新到 20.1.0?【英文标题】:How to update ag-grid from version 18.1.0 to 20.1.0 in Angular 6? 【发布时间】:2019-08-02 14:26:02 【问题描述】:

package.json


  "name": "trackerui",
  "version": "0.0.0",
  "scripts": 
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --bh /trackerui/",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  ,
  "private": true,
  "dependencies": 
    "@angular/animations": "^6.0.2",
    "@angular/cdk": "^6.3.2",
    "@angular/common": "^6.0.2",
    "@angular/compiler": "^6.0.2",
    "@angular/core": "^6.0.2",
    "@angular/forms": "^6.0.2",
    "@angular/http": "^6.0.2",
    "@angular/material": "^6.3.2",
    "@angular/router": "^6.0.2",
    "ag-grid": "^18.1.2",
    "ag-grid-community": "^20.1.0",
    "ag-grid-enterprise": "^20.1.0",
    "angular-calendar": "^0.26.4",
    "angular-tree-component": "^7.2.1",
    "bootstrap": "^3.3.7",
    "core-js": "^2.5.4",
    "date-fns": "^1.30.1",
    "file-saver": "1.3.8",
    "jquery": "^3.3.1",
    "jquery-ui": "^1.12.1",
    "ng2-file-upload": "^1.3.0",
    "npm": "^6.3.0",
    "rxjs": "^6.0.0",
    "rxjs-compat": "^6.3.3",
    "to": "^0.2.9",
    "update": "^0.7.4",
    "xlsx": "0.12.13",
    "zone.js": "^0.8.26"
  ,
  "devDependencies": 
    "@angular-devkit/build-angular": "~0.6.3",
    "@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/jquery": "^3.2.5",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.2.1",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~1.7.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",
    "protractor": "~5.3.0",
    "ts-node": "~5.0.1",
    "tslint": "~5.9.1",
    "typescript": "~2.7.2"
  

使用ng serve 运行应用程序时出现以下错误

node_modules/ag-grid-community/dist/lib/gridOptionsWrapper.d.ts(133,52) 中的错误: 错误 TS1005:预期为“,”。 node_modules/ag-grid-community/dist/lib/gridOptionsWrapper.d.ts(133,73): 错误 TS1144:“”或“;”预计。 node_modules/ag-grid-community/dist/lib/gridOptionsWrapper.d.ts(133,101): 错误 TS1005:';'预计。 node_modules/ag-grid-community/dist/lib/gridOptionsWrapper.d.ts(133,103): 错误 TS1068:意外的令牌。构造函数、方法、访问器或 属性是预期的。

【问题讨论】:

您是否尝试过卸载并重新安装 ag-grid? 您还需要更新您的 ag-grid 包检查答案以了解详细信息 @Arikael 已尝试卸载并重新安装,但仍然出现相同的错误 您需要使用 ag-grid-angular 更新您的包。有关更多信息,请检查答案。如果它解决了您的问题,请接受答案,以便其他人从中受益。谢谢 【参考方案1】:

我认为您还需要将 "ag-grid": "^18.1.2", 升级到 "ag-grid-angular": "^20.1.0", 这样做,您需要进行以下更改

Step1:进入package.json,将"ag-grid": "^18.1.2",修改为"ag-grid-angular": "20.1.0",

第二步:将你的打字稿版本"typescript": "~2.7.2"改为"typescript": "~3.2.4"

第三步:在你的项目中运行npm update

第四步:现在运行ng serve

Here is Stackblitz demo

希望这会有所帮助!

【讨论】:

在更改 ag-grid 的版本后,当我将鼠标悬停在 package.json 中的 ag-grid 上时出现错误 No matching version found for ag-grid@^20.1.0,最新版本仅显示为 18.1.2。 他们重命名包。正确的是版本 20.1.0 "ag-grid-angular": "^20.1.0", "ag-grid-community": "^20.1.0", "ag-grid-enterprise": "^20.1.0", @TheParam,谢谢,我已经更新了软件包,但仍然遇到同样的错误。 @TheParam 这是打字稿版本导致的错误。 @TheParam 将所有软件包降级到版本 20.0.0 时,应用程序运行正常。

以上是关于如何在 Angular 6 中将 ag-grid 从版本 18.1.0 更新到 20.1.0?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 ag-grid 单元格中打开模态对话框单击 Angular 6

如何根据Angular 6同一行中的其他单元格值在AG-Grid选择下拉列表中加载不同的选项?

如何使用 ag-grid 导出到具有 Angular 6 的大数据(50,000 行)的 excel 功能(内存不足错误)?

具有 Angular 6 导出功能的 ag-grid 20

Angular 6 ag-grid 单元格渲染器单击功能

如果使用带有 Angular 6 的 ag-Grid 执行全行更新,则获取已编辑的列(带有数据)