내 Angular2
프로젝트에 네이티브 javascript
library을 사용하고 싶습니다. 나는 그것을 구축하고 번들 된 js
파일을 만들었습니다. 이제이 파일에서 fhir
이라는 클래스 하나만 있으면됩니다. 새로운 javascript
클래스를 만들고 그것에 fhir
클래스의 인스턴스를 만들려고했습니다. 그 후, 나는 내 자신의 기능에 해당 인스턴스에서 함수를 호출하고 있습니다 :Angular2에서 javascript 클래스 사용
/// <reference path='./FhirClient.d.ts' />
import { fhir } from './nativeFhir';
export var FhirClient = (function() {
function FhirClient(config) {
this.client = fhir(config);
}
FhirClient.prototype.conformance = function(query) {
return this.client.conformance(query);
};
FhirClient.prototype.document = function(query) {
return this.client.document(query);
};
FhirClient.prototype.profile = function(query) {
return this.client.profile(query);
};
FhirClient.prototype.transaction = function(query) {
return this.client.transaction(query);
};
FhirClient.prototype.history = function(query) {
return this.client.history(query);
};
FhirClient.prototype.typeHistory = function(query) {
return this.client.typeHistory(query);
};
FhirClient.prototype.resourceHistory = function(query) {
return this.client.resourceHistory(query);
};
FhirClient.prototype.read = function(query) {
return this.client.read(query);
};
FhirClient.prototype.vread = function(query) {
return this.client.vread(query);
};
FhirClient.prototype.delete = function(query) {
return this.client.delete(query);
};
FhirClient.prototype.create = function(query) {
return this.client.create(query);
};
FhirClient.prototype.validate = function(query) {
return this.client.validate(query);
};
FhirClient.prototype.search = function(query) {
return this.client.search(query);
};
FhirClient.prototype.update = function(query) {
return this.client.update(query);
};
FhirClient.prototype.nextPage = function(query) {
return this.client.nextPage(query);
};
FhirClient.prototype.prevPage = function(query) {
return this.client.prevPage(query);
};
FhirClient.prototype.resolve = function(query) {
return this.client.resolve(query);
};
});
그리고이 클래스에 대한 .d.ts
파일 생성 : 그러나
import { fhir } from './nativeFHIR';
export declare class FhirClient {
private client: fhir;
constructor(config: any);
conformance(query: any): any;
document(query: any): any;
profile(query: any): any;
transaction(query: any): any;
history(query: any): any;
typeHistory(query: any): any;
resourceHistory(query: any): any;
read(query: any): any;
vread(query: any): any;
delete(query: any): any;
create(query: any): any;
validate(query: any): any;
search(query: any): any;
update(query: any): any;
nextPage(query: any): any;
prevPage(query: any): any;
resolve(query: any): any;
}
을, 나는에 대한 .d.ts
파일을 작성하지 않았다 라이브러리를 사용하고 있습니다.
이 : 그 클래스의 인스턴스에서 함수를 Angular
내 클래스 (FhirClient
)를 가져오고 전화를 시도
,
this.client = new FhirClient(env.environment.server.config);
this.client.search({type: 'Patient', id: 'pa000001'}).then(function (response) {
console.log(response);
}, function (error) {
console.log(error);
});
그것은 ... is not a function
오류를 제공 .d.ts
파일을 사용하려고 시도한 것은 처음이며 아마도 완전히 잘못 사용하고있을 것입니다. 내 Angular 프로젝트의 기본 라이브러리에있는 fhir
클래스를 사용하도록 도와 줄 수 있습니까?
내 보낸 클래스 (예, 당신이 인생을 필요로하고 마지막에 클래스를 반환) :
이 라이브러리에서 사용할 수있는 입력을 찾지 못하셨습니까? –
어쩌면 틀 렸지만 IIFE로 마무리해야한다고 생각합니다. 현재 당신은 함수를 실행하지 않습니다 :'export var FhirClient = (function() {...})()'. '()'을 잊었습니다. 아니면 당신의 필요'새로운 FhirClient()()' – VadimB
@ VadimB 당신이 말한 것처럼 그것을 시도한 지금은 오류가 '__WEBPACK_IMPORTED_MODULE_5__FhirJS_FhirClient __. a is not a constructor' –