使用Ionic 2我试图为FHIR添加Typescript定义文件。在documentation之后,我运行了以下命令:
npm install --save @types/fhir
无怨无悔地执行。我可以在node_modules @types
文件夹下看到添加的Typescript定义文件:
当我在组件文件中引用类型时,编辑器不会抱怨。但是,当我运行ionic serve
时,终端显示错误:
找不到命名空间'fhir'
我的IDE是我试过重启的Visual Studio Code。我尝试删除并重新安装类型。
import { Component, OnInit } from '@angular/core';
import { NavController } from 'ionic-angular';
import {CreateReferralPage} from '../create-referral/create-referral';
import { HomeProvider } from "../../providers/home/home";
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage implements OnInit{
patient : fhir.Patient = {};
constructor(public navCtrl: NavController, private homeProvider: HomeProvider) {
}
ngOnInit(){
this.homeProvider.getPatientDetails().subscribe((patient : fhir.Patient) => {
this.patient = patient;
})
}
}
答案 0 :(得分:1)
我相信你应该在npm包里面有一个编译好的index.d.ts的Javascript版本。在开发过程中,您不会收到任何错误,因为Typescript使用TS文件中的原始定义,但每当您启动应用程序时,它都将使用在您的npm文件夹中找不到的已编译的JS文件,从而引发错误。