moment
サードパーティのグローバルリソースです。window
ブラウザでオブジェクトが存続する瞬間。そのためimport
、angular2アプリケーションでは正しくありません。代わりに、<script>
moment.jsファイルをロードするタグをHTMLに含めます。
TypeScriptを幸せにするために、次を追加できます。
declare var moment: any;
あなたがそれを使用してコンパイルエラーを停止するファイルの上部に、またはあなたは
///<reference path="./path/to/moment.d.ts" />
または、tsdを使用して、TypeScriptが独自に見つけたmoment.d.tsファイルをインストールします。
例
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');
}
HTMLにスクリプトタグを追加してください。そうしないと、存在しなくなります。
<script src="node_modules/moment/moment.js" />
モジュールの読み込み moment
まず、瞬間commonjsファイルをロードするためにSystem.jsなどのモジュールローダーをセットアップする必要があります。
System.config({
...
packages: {
moment: {
map: 'node_modules/moment/moment.js',
type: 'cjs',
defaultExtension: 'js'
}
}
});
次に、必要に応じてファイルに瞬間をインポートするには
import * as moment from 'moment';
または
import moment = require('moment');
編集:
WebpackやSystemJSビルダー、Browserifyなどの一部のバンドラーには、ウィンドウオブジェクトから離れるオプションもあります。これらの詳細については、それぞれのWebサイトにアクセスしてください。