Angular2 + Jspm.io: la cale de reflection-métadonnées est requirejse lors de l’utilisation de décorateurs de classes

J’ai le problème suivant lors de l’exécution des versions ci-dessous de JSPM avec Angular2 et SystemJS (versions: Angular@2.0.0-alpha.27 avec JSPM@0.16.0-beta.2 et SystemJS@0.18.0). compilé (sans erreurs) j’obtiens l’erreur suivante dans le navigateur:

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

Maintenant, lorsque j’inclus manuellement le fichier Reflect.js: \ jspm_packages \ npm \ reflect-metadata@0.1.0 \ Reflect.js, ce problème disparaît, mais le problème suivant se pose, à savoir que la liste n’est pas définie dans un autre fichier angular.

Voir le bitbucket src ci-dessous pour les fichiers de configuration (code src) à partir de system.js et de typescript / jspm.io

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

Ce que je me demande, c’est si il est actuellement possible d’utiliser jspm avec system.js pour récupérer tous les paquets angulars nécessaires au fonctionnement angular normal. Voir comme config pour system.js n’indique pas clairement que l’angular en dépend:

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

Mais ils ne sont pas récupérés (en regardant l’onglet réseau)

Oui, ce que vous cherchez est possible et fonctionne bien. Il semble que vous ayez les dépendances correctes. Je pense que vous ne manquez que les éléments suivants, qui doivent figurer au début de votre fichier de script ou de fichier texte de haut niveau. Plus précisément, ceux-ci doivent être avant la première ligne est que les charges angulars.

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

(L’autre réponse pointe vers une explication détaillée, mais hors site.)

Robwormald a écrit une explication bien détaillée qui couvre les questions que les gens pourraient avoir à ce stade et le temps d’essayer de faire fonctionner angular alpha 27 avec jspm et typeScript https://gist.github.com/robwormald/429e01c6d802767441ec

Si ce problème se produit dans un environnement Angular 4.4+, cela peut aider si vous redémarrez ng serve .