2016-10-10 53 views
1

我會通一本書教程學習打字稿AngularJS 2.0:(Become_a_Ninja_with_Angular2)。Angular2 +打字稿+ moment.js =>語言環境是不是所有有(只是 '恩')

在某些時候,它解釋瞭如何製作自己的管道,並通過執行moment.js

在我的項目所在的文件夾我做CLI:npm install moment (FYI:這本書還告訴做typings install --save --ambient moment-node,而是拋出一個錯誤,即使我改變--ambient通過--global,也是這個錯誤發生在不作爲我在下面描述的代碼的其餘部分使用moment.js問題運行)。

然後,先前的CLI的結果,它創建在我的項目文件夾:在[my project folder]\main.html[my project folder]\node_modules\moment

然後,我有一個<script>標籤有:`

<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> 

我自管看起來是這樣的:

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/frwhat I found by looking at already existing solution on StackOverflow)。如果這個標籤沒有實現,我只能訪問'en'。這意味着添加其他語言將需要添加import 'moment/../locale/[the locale I want available]

任何人有任何想法如何使用只有單import * as moment from 'moment';聲明的所有locale從自由度moment.js?

PS:我添加到[我的項目文件夾] \ app.module.ts:

import { FromNowPipe } from './custom_pipes/fromnow.pipe'; 
... 
    @NgModule({ 
     ... 
     declarations: [...,FromNowPipe], 
     ... 
    }) 
... 

而且在某處我的組件之一,我有:

[@Component({ 
    selector: 'ns-mycomponent', 
    template:` 
..    <div>{{ '2016/05/01'|fromNow }}</div>.. 

       ` 
}) 

回答

1

我找到了一個解決方法:

根據我在這個問題寫道,在[my project folder]\main.html

System.config({ 
      defaultJSExtensions: true, 
      map: { 
       ... 
      } 
}); 

我取代的:'moment':'node_modules/moment/moment''moment':'node_modules/moment/min/moment-with-locales.min.js'

在我管的文件我只是不停:import * as moment from 'moment';在文件的開始和它的工作原理:所有的語言可供選擇

相關問題