J'ai le problème suivant avec les versions ci-dessous de JSPM avec Angular2 et SystemJS (Versions: [email protected] avec [email protected] et [email protected]) Une fois que TypeScript est compilé (sans erreur) j’obtiens l’erreur suivante dans le navigateur:
/jspm_packages/npm/[email protected]/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\[email protected]\Reflect.js, le problème disparaît mais le problème suivant apparaît, disant que la liste n'est pas définie dans un autre fichier angular.
Voir la section src de bitbucket ci-dessous pour les fichiers de configuration (code src) provenant de system.js et de TypeScript/jspm.io
Ce que je me demande, c'est s'il est actuellement possible d'utiliser jspm avec system.js pour récupérer tous les packages angular nécessaires au bon fonctionnement de angular. La configuration de system.js indique clairement que angular en dépend:
"npm:[email protected]": {
"fs": "github:jspm/[email protected]",
"path": "github:jspm/[email protected]",
"process": "github:jspm/[email protected]",
"reflect-metadata": "npm:[email protected]",
"rx": "npm:[email protected]",
"url": "github:jspm/[email protected]",
"zone.js": "npm:[email protected]"
},
Mais ils ne sont pas récupérés (en regardant l'onglet réseau)
Robwormald a écrit une explication bien détaillée qui couvre les problèmes que les gens pourraient avoir à ce stade et tentent d'obtenir angular alpha 27 pour fonctionner avec jspm et TypeScript https://Gist.github.com/robwormald/429e01c6d802767441ec
Oui, ce que vous cherchez est possible et fonctionne bien. Il semble que les dépendances soient correctes. Je pense qu'il ne vous manque que les éléments suivants, qui doivent figurer au début de votre fichier TypeScript ou JavaScript de niveau supérieur. Plus précisément, ceux-ci doivent précéder la première ligne des charges angulaires.
import 'zone.js';
import 'reflect-metadata';
(L'autre réponse renvoie à une explication détaillée mais hors site.)
Si ce problème se produit dans un environnement Angular 4.4+ +), il peut être utile de redémarrer ng serve
.