wake-up-neo.com

Wie importiere ich moment.js mit npm in ES6?

Ich verwende winklig js und nodejs zusammen mit ES6. Ich möchte die moment.js in den js-Winkelcode importieren. Ich habe 'npm install moment --save'

Jetzt kann ich die moment.js-Datei im moment-Ordner sehen, der sich in Knotenmodulen befindet. 

und in meiner app.js-Datei habe ich so geschrieben

'import moment from 'moment';

Wenn jedoch etwas mit Datumsbereich gesucht wird, wird ein Fehler in der Konsole angezeigt. Kann mir jemand helfen, wie ich das mache ..?

9
Santhosh Aineri

Um die ES6-Modulsyntax zu verwenden, müssen Sie derzeit einen Transpiler verwenden, z. Babel, da node.js und die meisten Browser die ES6-Modulsyntax noch nicht unterstützen.

Babel und Webpack eignen sich dafür hervorragend. Hier ist ein schönes Beispiel: 

Sobald Sie es richtig konfiguriert haben, rufen Sie moment als solches auf:

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

Seit Version 2.10.0 moment ist in ES6 geschrieben:

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

Momentan scheint es jedoch nicht möglich zu sein, nur eine Teilmenge von Funktionen zu importieren. Sie müssen das Ganze importieren.

2
flawyte

Das ist, wonach Sie suchen.

import moment from 'moment'
import it from 'moment/locale/it'
import { utc } from 'moment'
moment.locale('it')

Das dazugehörige Thema können Sie hier lesen. https://github.com/moment/moment/issues/2608

1
atilkan

Verwenden Sie stattdessen diese Librairie: https://github.com/urish/angular-moment

laden Sie die js-Dateien:

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

fügen Sie die Momentabhängigkeit in Ihrem App-Controller ein:

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

der Code, den Sie geschrieben haben, funktioniert nicht 

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

wenn diese nicht funktionieren. Dann versuchen Sie es mit einem Web-Pack, um den Moment global darzustellen.

1
zabusa

Die Option, die bei mir funktioniert hat, ist:

import * as moment from 'moment';
1
Alice Tolokova

Hier funktioniert das:

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