我正在重构一个Angular(对Angular 8,Electron 6,Ionic 4 的更新),我想出了一种方法来清理分散在整个项目中的常量。我创建了一个命名空间,在其中根据重用常量的类型放置重用常量
namespace Constants.HTTP {
export const ACCEPT = 'Accept';
export const APPLICATION_JSON = 'application/json';
export const CONTENT_TYPE = 'Content-Type';
// ...
}
我在VS Code中没有错误/警告,正在运行构建,正在运行ng-serve(JiT和AoT),但是当Electron应用程序启动时,出现以下错误:
BaseEntityService 多次使用命名空间 Constants.HTTP 中的常量。
protected readonly headers: HttpHeaders = new HttpHeaders().set(
Constants.HTTP.ACCEPT,
Constants.HTTP.APPLICATION_JSON
);
protected readonly queryRestUrl: string = `${Constants.HTTP.GENERIC_QUERY_REST_URL}/${this.getEntityType()}`;
protected readonly genericEntityRestUrl: string = `${Constants.HTTP.GENERIC_ENTITY_REST_URL}/${this.getEntityType()}`;
我不确定是什么原因引起的。到目前为止,我在每个Angular项目中都使用过命名空间,但从未遇到过此问题。首先,我认为不导出/导入名称空间可能存在问题,但这有点不合理。知道我应该检查/更改什么吗?
这是package.json中的脚本:
"start": "npm run postinstall:electron && npm-run-all -p ng:serve electron:serve",
"start:aot": "npm run postinstall:electron && npm-run-all -p ng:serve-aot electron:serve",
"build": "npm run postinstall:electron && npm run electron:serve-tsc && ng build --base-href ./",
"build:dev": "npm run build -- -c dev",
"build:prod": "npm run build -- -c production",
"ng:serve": "ng serve",
"ng:serve-aot": "ng serve --aot",