我有这个TypeScript类,我打算用它来引用:ncing项目特定的变量
export class GlobalReferences{
public baseApiUri:string
constructor(){
this.baseApiUri = 'http://localhost:8080/api/';
}
}
但是,当我尝试在我的一个服务类中引用它时:
import {GlobalReferences} from '../References/GlobalReferences';
@autoinject()
export class CategoriesService{
http: HttpClient;
baseApiUrl: string;
entityCollectionName: string = 'categories';
constructor(httpClient: HttpClient, references: GlobalReferences) {
this.http = httpClient;
this.baseApiUrl = references.baseApiUri;
然后抛出错误。根据您的外观,Webpack抛出的错误是:
> ./References/GlobalReferences.ts中的错误模块构建失败:错误:最终加载器未返回缓冲区或字符串
但是,当您查看Chrome中的错误时,它是:
错误[app-router]错误:模块“事务”中找不到视图模型。 在http://localhost:9000/aurelia.bundle.js:3664:15
但是,当我像这样直接分配值时,它可以工作:
this.baseApiUrl = 'http://localhost:8080/api/'
现在的问题是:我如何正确引用全局变量?
答案 0 :(得分:0)
请试试这些:
File Globalreferences.ts
import { autoinject } from 'aurelia-framework';
@autoinject()
export class GlobalReferences {
public baseApiUri: string
constructor() {
this.baseApiUri = 'http://localhost:8080/api/';
}
}
您的服务:
export class CategoriesService{
http: HttpClient;
baseApiUrl: string;
entityCollectionName: string = 'categories';
constructor(httpClient: HttpClient, references: GlobalReferences) {
this.http = httpClient;
this.baseApiUrl = references.baseApiUri;
....
答案 1 :(得分:0)
我终于找到了问题。我需要在tsconfig.json中添加并设置emitDecoratorMetadata标志为true如果没有它,autoinject()就无法正常工作。