J'essaie Angular 5, démarrer un projet à partir d'angular-cli. Dans ce projet, je voudrais utiliser un module NPM: J2M ( https://github.com/kylefarris/J2M ), donc j'ai regardé en ligne et j'ai vu ces deux commandes:
npm install j2m --save
npm install @types/j2m --save-dev
Malheureusement, @ types/j2m n'existe pas du tout. J'ai donc essayé de trouver un moyen de définir mes propres saisies mais je n'ai pas réussi à réussir ...
J'utilise ce code:
import * as J2M from "j2m";
...
console.log(J2M.toM(value));
Mais soit "j2m" n'est pas reconnu, soit "toM" n'est pas une fonction, d'après les échantillons que j'ai trouvés en ligne ...
Alors, quelle est la bonne façon d'importer ce module?
Merci,
Vous devez ajouter les scripts dans votre angular-cli.json
fichier.
Sous la propriété scripts
, ajoutez
'../node_modules/path/to/minified/js.js'
Si un style est requis, vous devez également l'ajouter sous votre propriété styles
, dans le même fichier.
Une fois que vous avez fait cela, votre bibliothèque est importée. Cela signifie que vous n'avez pas besoin d'utiliser des éléments tels que
import * from 'j2m';
Mais si vous souhaitez utiliser une variable globale sans vos erreurs IDE, vous devez ajouter
declare var J2M: any;
avec J2M
étant la fonction globale exportée de votre bibliothèque (par exemple, pour MomentJS, cette variable est appelée moment
).
Lorsque vous utilisez un fichier de définition, il indique simplement à la CLI de récupérer automatiquement la bibliothèque JS et vous donne IDE auto-complétion. Avec cette solution, vous n'avez pas de complétion automatique, et vous indiquez explicitement à la CLI où récupérer la bibliothèque.