moment
adalah sumber daya global pihak ketiga. Objek saat ini hidup window
di browser. Karenanya itu tidak benar untuk import
itu dalam aplikasi angular2 Anda. Alih-alih, sertakan <script>
tag dalam html Anda yang akan memuat file moment.js.
Untuk membuat TypeScript senang, Anda dapat menambahkan
declare var moment: any;
di bagian atas file Anda di mana Anda menggunakannya untuk menghentikan kesalahan kompilasi, atau Anda dapat menggunakannya
///<reference path="./path/to/moment.d.ts" />
atau gunakan tsd untuk menginstal file moment.d.ts yang mungkin ditemukan TypeScript pada file itu sendiri.
Contoh
import {Component} from 'angular2/core';
declare var moment: any;
@Component({
selector: 'example',
template: '<h1>Today is {{today}}</h1>'
})
export class ExampleComponent{
today: string = moment().format('D MMM YYYY');
}
Pastikan untuk menambahkan tag skrip di html Anda atau momen tidak akan ada.
<script src="node_modules/moment/moment.js" />
Memuat modul moment
Pertama, Anda perlu mengatur pemuat modul seperti System.js untuk memuat file commonjs saat
System.config({
...
packages: {
moment: {
map: 'node_modules/moment/moment.js',
type: 'cjs',
defaultExtension: 'js'
}
}
});
Kemudian untuk mengimpor momen ke file di mana perlu digunakan
import * as moment from 'moment';
atau
import moment = require('moment');
EDIT:
Ada juga opsi dengan beberapa bundler seperti Webpack atau SystemJS builder atau Browserify yang akan menjaga momen dari objek window. Untuk informasi lebih lanjut tentang ini, silakan kunjungi situs web masing-masing untuk instruksi.