如何在 angular cli 项目中使用 @types/fhir
How do I use @types/fhir in angular cli project
当我将这个库 npm 安装到我的 cli 项目中并尝试引用其中的类型时,我得到了这个:
error TS2306: File 'C:/ng-ikr-lib-test/node_modules/@types/fhir/index.d.ts' is not a module.
这是我的 tsconfig:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
我的应用程序 tsconfig 扩展了上述内容。
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "es2015",
"types": ["fhir"]
},
"exclude": [
"src/test.ts",
"**/*.spec.ts"
]
}
您应该如何在 angular-cli 应用程序中使用此库中定义的类型?
我发现的最简单的方法是在文件顶部使用以下行引用类型:
///<referencepath="../../../node_modules/@types/fhir/index.d.ts"/>
例如,我的 fhir.service.ts 文件顶部的引用如下所示:
///<reference path="../../../../node_modules/@types/fhir/index.d.ts"/>
import {Injectable} from '@angular/core';
import {Observable, throwError} from 'rxjs';
import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';
import Patient = fhir.Patient;
import Observation = fhir.Observation;
import Bundle = fhir.Bundle;
import Medication = fhir.Medication;
您可以在 "Consuming Dependencies" 部分下的 https://www.typescriptlang.org/docs/handbook/declaration-files/library-structures.html 中找到更多背景信息。
如果其他人偶然发现了这个,我将这个库的重新打包版本发布到 public npm 注册表。你可以在这里找到它:
https://www.npmjs.com/package/fhir-stu3
干杯。
当我将这个库 npm 安装到我的 cli 项目中并尝试引用其中的类型时,我得到了这个:
error TS2306: File 'C:/ng-ikr-lib-test/node_modules/@types/fhir/index.d.ts' is not a module.
这是我的 tsconfig:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
我的应用程序 tsconfig 扩展了上述内容。
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "es2015",
"types": ["fhir"]
},
"exclude": [
"src/test.ts",
"**/*.spec.ts"
]
}
您应该如何在 angular-cli 应用程序中使用此库中定义的类型?
我发现的最简单的方法是在文件顶部使用以下行引用类型:
///<referencepath="../../../node_modules/@types/fhir/index.d.ts"/>
例如,我的 fhir.service.ts 文件顶部的引用如下所示:
///<reference path="../../../../node_modules/@types/fhir/index.d.ts"/>
import {Injectable} from '@angular/core';
import {Observable, throwError} from 'rxjs';
import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';
import Patient = fhir.Patient;
import Observation = fhir.Observation;
import Bundle = fhir.Bundle;
import Medication = fhir.Medication;
您可以在 "Consuming Dependencies" 部分下的 https://www.typescriptlang.org/docs/handbook/declaration-files/library-structures.html 中找到更多背景信息。
如果其他人偶然发现了这个,我将这个库的重新打包版本发布到 public npm 注册表。你可以在这里找到它:
https://www.npmjs.com/package/fhir-stu3
干杯。