我一直关注文档here并使用 ng-cli 。
我创建了以下配置文件( app-config.ts ):
import { OpaqueToken } from '@angular/core';
export interface AppConfig {
supportTelephoneNumber: string;
}
export let APP_CONFIG_t = new OpaqueToken('app.config');
export const APP_CONFIG: AppConfig = {
supportTelephoneNumber: '1111 111 1111'
};
在我的 app.module.ts 文件中我有:
...
@NgModule({
declarations: [
UkCurrencyPipe,
AppComponent,
HomeComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(ROUTES, { useHash: true }),
MaterialModule.forRoot()
],
providers: [
{ provide: APP_CONFIG_t, useValue: APP_CONFIG },
...
我在 app.component.ts 文件中使用此配置,如下所示:
import { Component, Inject } from '@angular/core';
import { APP_CONFIG_t, AppConfig } from './app-config';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.less']
})
export class AppComponent {
constructor(@Inject(APP_CONFIG_t) public config: AppConfig) {
callSupport(): void {
window.location.href = 'tel:+' + this.config.supportTelephoneNumber;
}
}
当我使用 ng服务投放我的应用时,一切似乎都运行正常,但我确实在控制台中看到了这些警告,我在哪里运行 ng服务器:
>警告在./src/app/app.component.ts中 40:166 export' AppConfig'在' ./ app-config' 中找不到 >警告在./src/app/app.component.ts中 40:195 export' AppConfig'在' ./ app-config' 中找不到
有谁知道这些警告的含义以及我是否应该担心它们?
我的版本
答案 0 :(得分:17)
根据问题comment上的https://github.com/angular/angular-cli/issues/2034
有同样的问题。 (尽管有警告但工作正常) 你从文件中导出多个接口/类/ const? 我从自己的专用文件中导出每个接口后,问题就停止了。
意思是如果我有一个包含多个导出的文件 - 我在构建中收到警告(导出' MyInterface1'未在' ../ file'中找到)
file.ts
export interface MyInterface1 {}
export interface MyInterface2 {}
重构后 - 没有警告
file1.ts
export interface MyInterface1 {}
file2.ts
export interface MyInterface2 {}