2017-05-02 1 views
2

J'essaie de déplacer mon projet angulaire 2 existant à angulaire-cli. Mon échafaudage actuel utilise Webpack et j'utilise beaucoup AMD pour charger certains fichiers js uniquement à l'intérieur de certains composants asynchrones. Ex:Comment utiliser AMD avec angular-cli?

require(['json-fn'], (JSONfn) => { 
     srvc.JSONfn = JSONfn; 
    }); 

le nouvel échafaudage angulaire cli donne l'erreur suivante:

Cannot find name 'require'. 

et la compilation webpack échoue. Que fais-je?

+0

'let besoin déclare: any' – yurzui

+0

ne fera aucun bien :( – jackOfAll

Répondre

2

utilisations angulaires-cli webpack 2 pour construire des projets, qui prend en charge AMD, mais vous devez utiliser la déclaration import:

import * as jsonFn from 'json-fn'; 

// .. 

ngOnInit() { 
    // use it normally here 
    jsonFn.parse(); 
} 
+0

Laissez-moi essayer ceci et revenir immédiatement – jackOfAll

+1

Ça fonctionne bien, merci, mais est-ce vraiment AMD ou est-ce que jsonFn est livré uniquement dans le js principal? – jackOfAll

+0

C'est assez différent, juste l'approche TS des dépendances de chargement. – sandrooco