我的项目使用webpack构建,但是当我从localhost托管应用程序时,我收到错误。
未捕获的ReferenceError:未定义__decorate。
最初我得到了Injectable()装饰器的错误。但是,当我取消注释时,我得到了相同的错误,但是使用了扩展。
我创建了一个复制错误的仓库 https://github.com/shawnrmoss/decorators
我怀疑它与打字有关,因为当我不得不改变这些定义时问题就出现了 typings_orig.json有原始的打字定义
我不知道发生了什么事。希望有人可以为此发光并帮助我。
感谢。
答案 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
: