53

以下のバージョンの JSPM を Angular2 および SystemJS (バージョン: Angular@2.0.0-alpha.27 with JSPM@0.16.0-beta.2 および SystemJS@0.18.0) で実行すると、次の問題が発生します。コンパイルされた (エラーなし) ブラウザーで次のエラーが表示されます。

/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 を手動でインクルードすると、その問題はなくなりますが、別の角度ファイル内でリストが未定義であるという次の問題が発生します。

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"
},

しかし、それらは取得されません(ネットワークタブを見てください)

4

3 に答える 3

67

はい、あなたが探しているものは可能であり、うまく機能します。依存関係が正しいように見えます。トップレベルのtypescriptまたはJavaScriptファイルの先頭にある必要がある次のものだけが欠けていると思います。具体的には、これらは Angular をロードする最初の行の前にある必要があります。

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

(他の回答は、詳細ではあるがサイト外の説明を指しています。)

于 2015-09-29T01:49:08.340 に答える