Angular2装饰器未定义

时间:2016-02-26 16:27:08

标签: typescript angular decorator webpack injectable

我的项目使用webpack构建,但是当我从localhost托管应用程序时,我收到错误。

未捕获的ReferenceError:未定义__decorate。

最初我得到了Injectable()装饰器的错误。但是,当我取消注释时,我得到了相同的错误,但是使用了扩展。

我创建了一个复制错误的仓库 https://github.com/shawnrmoss/decorators

我怀疑它与打字有关,因为当我不得不改变这些定义时问题就出现了 typings_orig.json有原始的打字定义

我不知道发生了什么事。希望有人可以为此发光并帮助我。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为您不导入包含Reflect元数据库到您的项目中。由于angular2-polyfills.js文件,此库由Angular提供。该库包含ZoneJS和Reflect-metadata。

此库由装饰器使用,特别是@Injectable装饰器。他们在内部使用Reflect.decorate函数。

从您的评论中,您似乎只导入es6-promise和zone-microtask ......

  

我开始使用angularclass入门套件。在供应商的ts文件中它有这个//(这些模块是'angular2 / bundles / angular2-polyfills'所以不要在这里使用)import'es6-promise'; import'zone.js / lib / browser / zone-microtask';

本文可以帮助您并寻找Reflect.decorate