angular - Hur man använder momentjs i TypeScript


Jag har ett Angular 5-biblioteksprojekt och jag vill använda momentjs version 2.20.1.

Jag följde Moment-dokumentationen om hur man installerar för TypeScript och för det mesta fungerar allt. När jag testar mitt bibliotek med ng test har jag inga problem, men när jag försöker paketera biblioteket med npm run build får jag

Kan inte anropa ett namnrum ('moment')

när man använder import * as moment from 'moment';. Och jag får

moment har ingen standardexport.

när man använder import moment from 'moment'; och sätter "allowSyntheticDefaultImports": true.

Hur installerar och använder jag momentjs på rätt sätt?

Svar #1

försök...

import * as moment_ from 'moment';
const moment = moment_;

se https://github.com/jvandemo/generator-angular2-library/issues/221

Svar #2

Om du vill använda den vanliga transform-rörmetoden, använd:

import { DateFormatPipe } from "angular2-moment";
constructor(public dfp: DateFormatPipe) { }
var date = this.dfp.transform(value, 'DD/MM/YYYY');