web-dev-qa-db-fra.com

Comment importer moment.js dans ES6 en utilisant npm?

J'utilise js angulaire et nodejs avec ES6. Je veux importer le moment.js dans le code js angulaire. J'ai fait 'npm install moment --save'

Maintenant, je suis capable de voir le fichier moment.js dans le dossier moment qui se trouve dans les modules de nœud. 

et dans mon fichier app.js j'ai écrit comme ça

'import moment from 'moment';

Mais si rechercher quelque chose avec la plage de dates, il montre une erreur dans la console. Quelqu'un peut-il m'aider comment faire cela ..?

9
Santhosh Aineri

Actuellement, pour utiliser la syntaxe du module ES6, vous devez utiliser un transpiler, par exemple. Babel, puisque node.js et la plupart des navigateurs ne prennent pas encore en charge la syntaxe du module ES6.

Babel et Webpack sont parfaits pour cela. Ici est un bel exemple: 

Une fois que vous l'avez configuré correctement, vous invoquez le moment en tant que tel:

import moment from 'moment';
console.log(moment.now());
9
cmd

Depuis la version 2.10.0 moment est écrit en ES6:

import moment from './node_modules/moment/src/moment';
// Note the 'src/' to import the ES6 version and not the CJS build

Cependant, pour l'instant, il semble qu'il n'y ait aucun moyen d'importer uniquement un sous-ensemble de fonctions, vous devez tout importer.

2
flawyte

Utilisez cette librairie à la place: https://github.com/urish/angular-moment

charger les fichiers js:

<script src="components/moment/moment.js"></script>
<script src="components/angular-moment/angular-moment.js"></script>

injectez une dépendance de moment dans votre contrôleur d'application:

  var myapp = angular.module('myapp', ['angularMoment']);
1
AlainIb

le code que vous avez écrit ne fonctionnera pas. 

//wont work
'import moment from moment'; this is wrong.
//this will work
import moment from 'moment';
or
import 'moment';

si cela ne fonctionne pas, essayez-le en utilisant Web-Pack pour exposer le moment au monde.

1
zabusa

Ici, cela fonctionne:

import moment from 'moment';
window.moment = moment;
0
Pedro Furtado