moment
là một nguồn tài nguyên toàn cầu của bên thứ ba. Các đối tượng khoảnh khắc sống trên window
trình duyệt. Do đó, nó không đúng với import
ứng dụng angular2 của bạn. Thay vào đó, bao gồm <script>
thẻ trong html của bạn sẽ tải tệp moment.js.
Để làm cho TypeScript hài lòng, bạn có thể thêm
declare var moment: any;
ở đầu các tệp của bạn nơi bạn sử dụng nó để dừng các lỗi biên dịch hoặc bạn có thể sử dụng
///<reference path="./path/to/moment.d.ts" />
hoặc sử dụng tsd để cài đặt tệp moment.d.ts mà TypeScript có thể tự tìm thấy.
Thí dụ
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');
}
Chỉ cần chắc chắn để thêm thẻ script trong html hoặc khoảnh khắc của bạn sẽ không tồn tại.
<script src="node_modules/moment/moment.js" />
Tải mô-đun moment
Trước tiên, bạn sẽ cần thiết lập trình tải mô-đun, chẳng hạn như System.js để tải các tệp commonjs khoảnh khắc
System.config({
...
packages: {
moment: {
map: 'node_modules/moment/moment.js',
type: 'cjs',
defaultExtension: 'js'
}
}
});
Sau đó, để nhập khoảnh khắc vào tệp khi cần sử dụng
import * as moment from 'moment';
hoặc là
import moment = require('moment');
BIÊN TẬP:
Ngoài ra còn có các tùy chọn với một số trình đóng gói như Webpack hoặc SystemJS builder hoặc Browserify sẽ giữ khoảnh khắc của đối tượng cửa sổ. Để biết thêm thông tin về những điều này, vui lòng truy cập trang web tương ứng của họ để được hướng dẫn.