2016-06-12 12 views
1

Angular2 World(およびJS/TS)を初めて使用しています。これまでのところ、私はウェブ上での私の質問に対するすべての答えを見つけ出しました(主にstackoverflow)。しかし、私はangular2-momentを働かせません。外部TypescriptライブラリをAngular2で使用する(例:angular2-moment)

私はThe angular2-Moment GitHub-Pageの指示に従いましたが、私は今私のアプリの負荷を次のエラーを取得:

angular2-polyfills.js:127 GET http://localhost:8080/angular2-moment 404 (Not Found) 
http://localhost:8080/angular2-moment(…) 

としてWebstromが輸入をした:私はこれを変更しようとした import {DateFormatPipe} from "angular2-moment/index";

import {DateFormatPipe} from "angular2-moment";,import {DateFormatPipe} from "angular2-moment/DateFormatPipe";またはimport {DateFormatPipe} from "angular2-moment/DateFormatPipe.js";でもこれは役に立ちません。私は次のエラーを取得import {DateFormatPipe} from "node_modules/angular2-moment/DateFormatPipe.js";に輸入を変更する場合は

は:

GET http://localhost:8080/moment 404 (Not Found) 
http://localhost:8080/moment(…) 

私は私が間違っているのかを知るいけないし、ここにいくつかの助けを使用することができます。あなたの助けをありがとう!

EDIT)

@Component({ 
selector: ..., 
template: ..., 
pipes: [DateFormatPipe] 

}::

私はangular2-RCを使用して、このようにそれを使用したい@Sasxaのおかげで、私は私の問題を解決することができました。しかし、私はまだそれを把握しなければならなかったので、私は私の正確な解決策を投稿します。

ところで
.... 
var map = { 
    'app':       'build/app', // 'dist', 
    '@angular':      'node_modules/@angular', 
    'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
    'rxjs':       'node_modules/rxjs', 
    'moment':      'node_modules/moment/moment.js', //<--this 
    'angular2-moment':    'node_modules/angular2-moment' //<--this 
}; 
// packages tells the System loader how to load when no filename and/or no extension 
var packages = { 
    'app':       { main: 'main.js', defaultExtension: 'js' }, 
    'rxjs':       { defaultExtension: 'js' }, 
    'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' }, 
    'angular2-moment':    { defaultExtension: 'js' }//<--this 
}; 
... 

:私は私にsystem.config.jsを変えimport {DateFormatPipe} from "angular2-moment/index";として右のインポートが実際に動作します。

答えて

1

モーメントライブラリを認識するために、モジュールローダーを設定する必要があります(SystemJSと仮定します)。具体的にはtheir plunker exampleconfig.jsをご覧ください。

...デフォルトの設定では動作しない場合は、

System.config({ 
    map: { 
    'moment': 'path/to/moment/library' 
    'angular2-moment': 'path/to/angular2-moment/library' 
    } 
}); 

、多分あまりにもSystem.config.packageを設定します。あなたは、に似た何かを追加する必要があります

関連する問題