six*_*six 7 typescript angular angular12
我已将 Angular 项目更新为版本 12.0.5,将 Typescript 版本更新为 4.3.4,但在编译该项目时遇到问题。
目前,我在没有对分支进行更改的情况下收到以下错误:
Should not import the named export 'provinces' (imported as 'data') from default-exporting module (only default export is available soon)
Run Code Online (Sandbox Code Playgroud)
这是import:
import { ApiService, Municipality, Province } from '../../services/api.service';
Run Code Online (Sandbox Code Playgroud)
这就是我声明依赖于导入省份的变量的方式:
public provinces: Province[] = [];
private currentPorvince: Province;
Run Code Online (Sandbox Code Playgroud)
问题是什么?为什么会发生这种情况以及如何解决?
小智 10
使用中间变量似乎对 Angular 12.2.5 有用:
import * as data from 'path/to/file.json'
let intermediateJson = data
//make it crash: console.log(data.property)
console.log(intermediateJson.property)
Run Code Online (Sandbox Code Playgroud)
我能够按照此处概述的步骤解决此问题: https: //www.codegrepper.com/code-examples/javascript/read+json+file+in+typescript(这又引用了 SO 帖子:导入 JSON 文件在打字稿中)
基本上,您必须将以下内容添加到 tsconfig.json 文件中(我将其添加到我的根 tsconfig.json 文件中,因为其他所有内容都继承自它):
"resolveJsonModule": true,
"esModuleInterop": true,
Run Code Online (Sandbox Code Playgroud)
然后你可以使用默认导入来命名类:
import { default as data } from '../../services/api.service';
data.provinces
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15617 次 |
| 最近记录: |