无法在角度项目中导入proj4

问题描述 投票:0回答:4

当我尝试在我的 Angular 项目中导入 proj4 时,出现错误

错误:在“proj4”中找不到导出“defs”(导入为“proj4”)(可能的导出:默认)

我导入为

从“proj4”导入*作为proj4;

虽然我已经安装了proj4作为

npm install --save @types/proj4

如何解决这个问题?我在这里错过了什么吗?

angular openlayers proj4js
4个回答
2
投票

根据https://github.com/proj4js/proj4js/issues/247,对于Typescript:

  • 导入声明应该是
    import proj4 from 'proj4';
  • 编译器选项
    allowSyntheticDefaultImports: true
    必须在
    tsconfig.json
  • 中设置

这为我解决了 TypeScript 4.8 和 Proj4 2.8 的问题。


1
投票

此导入声明

import * as proj4 from 'proj4';
在 2017 年之前适用于
proj4
的 v2.4。

要在 2.4 及更高版本中使用它,请按以下方式导入:-

import proj4 from 'proj4';

此外,您可能需要对

TypeScript compiler
进行以下更改,即在
tsconfig.json
内:-

"allowSyntheticDefaultImports": true

这些改变应该可以做到。


0
投票

我正在使用 Angular 17,我刚刚运行了建议的操作,它似乎已经解决了问题:

npm i --save-dev @types/proj4

0
投票

我的解决方案是同时安装

proj4
@types/proj4
。相当愚蠢,但如果有效,那就有效。

npm i proj4 --save
npm i @types/proj4 --save
© www.soinside.com 2019 - 2024. All rights reserved.