使用类装饰器时需要 Angular2 反射元数据填充程序
Posted
技术标签:
【中文标题】使用类装饰器时需要 Angular2 反射元数据填充程序【英文标题】:Angular2 reflect-metadata shim is required when using class decorators 【发布时间】:2016-09-27 08:00:25 【问题描述】:我正在尝试使用通用入门示例来了解有关使用 Angular2 进行服务器渲染的更多信息,我想使用 gulp 而不是 webpack。 问题是我有服务器启动时:
/Users/jaumard/IdeaProjects/trails-angular2-isomorphic/node_modules/@angular/core/src/util/decorators.js:165
throw 'reflect-metadata shim is required when using class decorators';
^
reflect-metadata shim is required when using class decorators
我看到一些帖子说要添加 import 'reflect-metadata';
但这并不能解决我的问题 :( 我想我错过了一些东西,但不知道它是什么......
这是我使用的代码https://github.com/jaumard/trails-angular2-isomorphic
【问题讨论】:
【参考方案1】:这个错误是因为,就像指令一样,你的组件 html 应该包含在一个 div 中。
<div>
//html
</div>
我遇到了同样的问题。当我将 HTML 包含在 div 中时,它工作正常。
【讨论】:
【参考方案2】:事实上,import 'reflect-metadata';
必须添加到我的 server.ts 文件中,因为我想使用服务器渲染。添加后。没有更多错误。
【讨论】:
以上是关于使用类装饰器时需要 Angular2 反射元数据填充程序的主要内容,如果未能解决你的问题,请参考以下文章
将 ES6 与 Angular2 rc3 一起使用时,需要未捕获的反射元数据 shim
Angular 2(2.0.0 到 2.2.0~)在使用“import 'reflect-metadata'”行添加自定义装饰器时出错
为啥在这个 angular2 示例中我仍然需要 @inject?