2017-02-05 2 views
0

にmomentjsを使用する私が使用しようとしている:どのようEmber.jsルータ

import moment from 'moment';

が、このエラーをスロー:

Could not find module 'moment' imported from 'myproject/routes/myroute'

簡単な使用モーメントIF()として:

model(params){ 
    return this.get('store').query('myentity', { 
    filter: { 
     timestamp: { 
     $ge: moment(params.day).startOf('day').format('x'), 
     $le: moment(params.day).endOf('day').format('x') 
     } 
    } 
    }); 
} 

このエラーをスロー:

Error while processing route: myroute Cannot read property '_calendar' of undefined TypeError: Cannot read property '_calendar' of undefined

注01:私はpredecの "瞬間" を含めると、あまりにもエンバー-CLI-ビルドの "瞬間" を含めるように私のjshintrcを更新し、バウアーからmomentjsをインポートします。

注02:私はエバーモーメントアドオンを参照していますが、他の可能なライブラリにどのように適用できるかを知りたいと思います。

答えて

1

あなたがバワーから何かをインストールすると、それはちょうどあなたのvendor.jsに連結されます。したがって、ES6モジュールとしては利用できませんが、グローバルにエクスポートする場合は利用可能です。したがって、あなたは単にmomentグローバルを使用することができます。

具体的には、具体的にはember-cli-moment-shimをお勧めします。

一般に、すべてのモジュールでは、npmからインストールし、ember-browserifyを使用することをお勧めします。

app.importで何かをインポートし、それをES6モジュールとして使用する場合、正しい解決方法はwrite a vendor-shimです。

1

私は亭でmomentjsを試していないが、あなたは亭で何かをインストールした場合、あなたがすることになっているん(私は自分自身を好むと使用)import it in ember-cli-build.js

他のソリューションは、ember-browserifyをインストールしています。その後、npm(npm install moment --save-dev)で瞬間(npmで公開し、ブラウザ環境で作業できるライブラリ)をインストールし、ルータ/コントローラ/ import moment from 'npm:moment'で何でもインポートできます。

関連する問題