2

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

未捕获的 ReferenceError:__decorate 未定义。

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

我创建了一个重复错误的存储库。
https://github.com/shawnrmoss/decorators

我怀疑这与打字有关,因为当我不得不更改这些定义时问题就开始了。
typings_orig.json 具有原始类型定义

我不确定发生了什么。希望有人可以对此有所启发并帮助我。

谢谢。

4

1 回答 1

-1

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

这个库被装饰者使用,特别是那个@Injectable。他们在内部使用该Reflect.decorate功能。

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

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

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

于 2016-02-26T17:20:00.063 回答