gpt4 book ai didi

Angular2 + Jspm.io : reflect-metadata shim is required when using class decorators

转载 作者:太空狗 更新时间:2023-10-29 16:46:34 28 4
gpt4 key购买 nike

我在使用 Angular2 和 SystemJS 运行以下版本的 JSPM 时遇到以下问题(版本:Angular@2.0.0-alpha.27 with JSPM@0.16.0-beta.2 和 SystemJS@0.18.0) 那一次 typescript 已编译(没有错误)我在浏览器中收到以下错误:

/jspm_packages/npm/angular2@2.0.0-alpha.27/src/util/decorators.js:70 Uncaught reflect-metadata shim is required when using class decorators

现在,当我手动包含文件 Reflect.js:\jspm_packages\npm\reflect-metadata@0.1.0\Reflect.js 时,问题消失了,但下一个问题出现了,说 list is undefined in another angular file。

有关 system.js 和 typescript/jspm.io 的配置文件(src 代码),请参阅下面的 bitbucket src

https://bitbucket.org/schippie/angular-2-jspm-hello-world/src/8af83f2066e5e3e9eede7db495545234f3b0c04a

我想知道的是,目前是否有可能将 jspm 与 system.js 一起使用来检索 angular 正常运行所需的所有 angular 包。看到 system.js 的配置确实明确指出 Angular 依赖于它:

"npm:angular2@2.0.0-alpha.27": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"reflect-metadata": "npm:reflect-metadata@0.1.0",
"rx": "npm:rx@2.5.1",
"url": "github:jspm/nodelibs-url@0.1.0",
"zone.js": "npm:zone.js@0.5.1"
},

但它们没有被检索(查看网络选项卡)

最佳答案

是的,您正在寻找的东西是可行的,而且效果很好。看起来好像您拥有正确的依赖关系。我认为您只缺少以下内容,这些内容需要位于顶级 typescript 或 JavaScript 文件的开头。具体来说,这些需要放在加载 Angular 的第一行之前。

import 'zone.js';
import 'reflect-metadata';

(另一个答案指向一个详细但场外的解释。)

关于Angular2 + Jspm.io : reflect-metadata shim is required when using class decorators,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911861/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com