【发布时间】:2017-05-24 10:06:51
【问题描述】:
在我们的 Angular 2 应用程序中,我们有一个构建错误,但仅在使用“ng build --prod”时,而不是在使用“ng build”或“ng serve”时。错误信息是:
ERROR in Error encountered resolving symbol values statically. Expression form not supported (position 27:55 in the original .ts file), resolving symbol RestService in [...]/src/app/shared-modules/service/rest/rest.service.ts
ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'C:\LPROG\Ldev\Projekte\svn\hippo_branch\frontend\shared\src'
@ ./src/main.ts 5:0-74
@ multi ./src/main.ts
相关代码部分是这样的:
constructor(
private http: Http,
private mappingService: MappingService,
private backendUrlService: BackendUrlService,
@Inject('RestServiceConfig') public config: {rest_api_name: string}) {
我可以改成这样:
constructor(
private http: Http,
private mappingService: MappingService,
private backendUrlService: BackendUrlService,
@Inject('RestServiceConfig') public config: any) {
这适用于“ng build --prod”,我认为我们可以接受这种变化(虽然我还有其他错误,这些不应该相关),但我想知道为什么会这样并且想要强大打字。谁能给我解释一下?
ng -v
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
@angular/cli: 1.0.0-rc.1
node: 6.9.4
os: win32 x64
@angular/common: 2.4.10
@angular/compiler: 2.4.10
@angular/core: 2.4.10
@angular/forms: 2.4.10
@angular/http: 2.4.10
@angular/platform-browser: 2.4.10
@angular/platform-browser-dynamic: 2.4.10
@angular/router: 3.4.10
@angular/cli: 1.0.0-rc.1
@angular/compiler-cli: 2.4.10
【问题讨论】:
标签: javascript angular