2017-03-16 10 views
0

私はWebpack角度2のアプリケーションを持っています.Momentを使ってライブラリに日付ピッカーモジュールの依存関係があります。事は、私はインポートしない場合はそれが好きということである:私はそれを使用したい場合はWebpackスクリプト内にノードモジュールをインポートします。

<script src="./../node_modules/moment/min/moment.min.js"></script> 

moment is not definedエラーが発生します。私は欲求を持って瞬間をインポートしようとしましたが、それは考慮されていません。

問題は、スクリプトのsrcタグはローカルで動作しますが、node_modulesでパスを展開するために必要なwebpackビルド済みバージョンではもう存在しないということです。 libフォルダに、hard.pst.min.jsを貼り付ける以外の方法がありますか?

答えて

1

はwebpack.conf.jsに次のコードを追加します。

resolve: { 
    alias: { 
     'moment': 'moment/min/moment.min' 
    } 
} 

今、あなたは簡単に行うことができ、あなたのjsファイルでrequire('moment')

注:デフォルトでは、webpackはnode_modulesフォルダ内のファイルを検索します。解決オブジェクトのプロパティmodulesを使用して特定の場所を調べるように指示できます。 結果のコードは次のようになります。

resolve: { 
    modules: ['lib/','some_folder/node_modules'...], 
    alias: { 
     'moment': 'moment/min/moment.min' 
    } 
} 
+0

あなたの答えのおかげで、アプリのコンパイルと考慮されているようですが、日付ピッカーはまだ輸入よりも、それ以外の場合を検討する必要はありません:( – guigui

+0

@guiguiができますあなたはエラーコードを共有していますか?また、設定ファイルに渡しているコンテキストは何ですか? –

+0

私のapp.component.tsでは、最上部に 'require( 'moment')'を入れました。 ./Ng2DatetimePickerComponentクラスでエラーが発生しました。Ng2DatetimePickerComponent - インラインテンプレート:36:4によって引き起こされるエラー: 'alias:{'moment': 'moment/moment'}'がwebpack confファイルの解決に失敗しました。瞬間が定義されていません。 – guigui

関連する問題