在一个 Angular 应用程序中,我看到它@Component具有 property moduleId。这是什么意思?
@Component
moduleId
当module.id未在任何地方定义时,该应用程序仍然有效。它怎么还能工作?
module.id
@Component({ moduleId: module.id, selector: 'ng-app', templateUrl: 'app.component.html', styleUrls: ['app.component.css'], directives: [AppComponent] });
Angular 的 beta 版本(从 vesion 2-alpha.51 开始)支持组件的相关资产,例如装饰器中的 templateUrl 和 styleUrls 。@Component
module.id使用 CommonJS 时有效。您无需担心它是如何工作的。
请记住 :在 @Component 装饰器中设置 moduleId: module.id 是这里的关键。如果您没有,那么 Angular 2 将在根级别查找您的文件。
2016 年 9 月 16 日更新:
如果您使用 webpack 进行捆绑,那么您不需要 module.id在装饰器中。Webpack 插件 module.id在最终包中自动处理(添加)