ではありません。(Become_a_Ninja_with_Angular2を)。Angular2 +活字体+ moment.js =>ロケール私は<strong>活字体</strong>と<strong>AngularJS 2.0</strong>学習するブックのチュートリアルを通してつもりです(単に 'en' と)すべてそこ
ある点では、独自のパイプを作成する方法を説明し、moment.jsの実装を行っています。 npm install moment
(FYI:本はまたtypings install --save --ambient moment-node
を行うに伝えますが、それは私が--global
で--ambient
を変更してもエラーがスローされ、また、このエラーはならない、たまたま私のプロジェクトは、私はCLIで行う置かれているフォルダに
私が以下で説明するコードの残りの部分としてmoment.js
を使用する問題)。
次に、前回のCLIの結果として、それは私のプロジェクトフォルダの下に作成されます: `
<script>
System.config({
defaultJSExtensions: true,
map: {
... [plenty of stuff starting with @angular]..
'@angular/platform-browser-dynamic':'node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
'rxjs': 'node_modules/rxjs',
'moment':'node_modules/moment/moment'
}
});
System.import('main');
</script>
マイカスタムパイプは次のようになります。[my project folder]\main.html
で次に[my project folder]\node_modules\moment
、私はと<script>
タグを持っています:
import { PipeTransform, Pipe } from '@angular/core';
import * as moment from 'moment';
import 'moment/../locale/fr';
@Pipe({name: 'fromNow'})
export class FromNowPipe implements PipeTransform {
transform(value,args){
let mydate = moment(new Date(value));
console.log(moment.locales());
return mydate.fromNow();
}
}
あなたが目にアクセスするために、私のカスタムパイプコードで見ることができるようにeロケール'fr'
、import 'moment/../locale/fr
(what I found by looking at already existing solution on StackOverflow)を追加する必要がありました。このタグが実装されていない場合、私は'en'
にしかアクセスできませんでした。つまり、他の言語を追加するにはimport 'moment/../locale/[the locale I want available]
を追加する必要があります。
誰もがimport * as moment from 'moment';
という単一の文でlib moment.jsからすべてのlocale
を得る方法はありますか?
PS:私は、[マイプロジェクトフォルダ] \ app.module.tsに追加:私は回避策を見つけ
[@Component({
selector: 'ns-mycomponent',
template:`
.. <div>{{ '2016/05/01'|fromNow }}</div>..
`
})