如何解决 angular 项目和 vega(图表库)之间的不兼容问题?
How to fix issue of incompatibility between angular project and a vega (charts library)?
我目前正在做一个 angular 7 项目,我想为图表添加 vega 库。
我认为的问题是,vega 需要更高版本的打字稿 (3.4.4),而在我的项目中只有 (3.2.2)。
所以当我尝试 运行 项目时,我遇到了这样的错误:
node_modules/vega-lite/build/src/util.d.ts(1,10) 中的错误:错误 TS2305:模块“"P:/projects/ui/project/node_modules/@types/clone"”没有导出成员 'default'。
node_modules/vega-lite/build/src/util.d.ts(2,8):错误 TS1192:模块“"P:/projects/ui/project/node_modules/@types/fast-json-stable-stringify/index"”没有默认导出。
如果您的应用程序中的打字稿版本较低,而另一个库中的打字稿版本较高,请给我一个想法,如何解决此类问题。
谢谢
Angular 7 目前使用 TypeScript 3.2.2,因此您的 Angular TypeScript 版本符合预期。
您可以在 package.json
中手动尝试更改 TypeScript 的版本,然后执行 npm install
看看会发生什么。如果它出错了,那对你来说就是个问题。
另一个建议是您可以切换到 Angular 8.
的候选版本
运行这个...
npm view @angular/cli versions --json
目前它显示有一个名为 8.0.0-rc.2 的版本 8 候选发布
所以你可以
npm i -g @angular/cli@8.0.0-rc.2
然后创建一个新项目,看看Angular 8 是否使用了较新版本的 TypeScript。如果是这样,您可以将代码复制到新的 Angular 8 项目,或者您可以等待预计很快(2019 年 5 月)发布的 Angular 8,然后只需使用
ng update
升级到 8。
或者,降级 vega 或寻找不同的库。
我目前正在做一个 angular 7 项目,我想为图表添加 vega 库。 我认为的问题是,vega 需要更高版本的打字稿 (3.4.4),而在我的项目中只有 (3.2.2)。
所以当我尝试 运行 项目时,我遇到了这样的错误:
node_modules/vega-lite/build/src/util.d.ts(1,10) 中的错误:错误 TS2305:模块“"P:/projects/ui/project/node_modules/@types/clone"”没有导出成员 'default'。 node_modules/vega-lite/build/src/util.d.ts(2,8):错误 TS1192:模块“"P:/projects/ui/project/node_modules/@types/fast-json-stable-stringify/index"”没有默认导出。
如果您的应用程序中的打字稿版本较低,而另一个库中的打字稿版本较高,请给我一个想法,如何解决此类问题。
谢谢
Angular 7 目前使用 TypeScript 3.2.2,因此您的 Angular TypeScript 版本符合预期。
您可以在 package.json
中手动尝试更改 TypeScript 的版本,然后执行 npm install
看看会发生什么。如果它出错了,那对你来说就是个问题。
另一个建议是您可以切换到 Angular 8.
的候选版本运行这个...
npm view @angular/cli versions --json
目前它显示有一个名为 8.0.0-rc.2 的版本 8 候选发布
所以你可以
npm i -g @angular/cli@8.0.0-rc.2
然后创建一个新项目,看看Angular 8 是否使用了较新版本的 TypeScript。如果是这样,您可以将代码复制到新的 Angular 8 项目,或者您可以等待预计很快(2019 年 5 月)发布的 Angular 8,然后只需使用
ng update
升级到 8。
或者,降级 vega 或寻找不同的库。