[解決済み] webpackでmoment.jsがロケールを読み込むのを防ぐにはどうすればよいですか?
質問
を止める方法はありますか?
moment.js
webpackを使用しているときに、すべてのロケール(私は英語だけでいい)を読み込まないようにするには?ソースを見ていると、どうやら
hasModule
が定義されている場合、それはwebpackの場合ですが、常に
require()
ロケールごとに これはプルリクエストで修正する必要があると思います。しかし、webpack の設定でこれを修正する方法はあるのでしょうか?
以下は、momentjsを読み込むための私のwebpackの設定です。
resolve: {
alias: {
moment: path.join(__dirname, "src/lib/bower/moment/moment.js")
},
},
そして、必要な場所で、ただ
require('moment')
. これはうまくいくのですが、私のバンドルに約250kBの不要な言語ファイルが追加されています。また、私はmomentjsとgulpのbowerバージョンを使用しています。
また、webpackの設定で直らない場合は、以下のようになります。
ロケールを読み込む関数へのリンクです。
. を追加してみました。
&& module.exports.loadLocales
を
if
という文がありますが、実はwebpackはそれがうまくいくような仕組みにはなっていないのでしょう。それはただ
require
を使用します。今は正規表現を使っていると思うので、どうやって修正するのかさえよくわかりません。
解決方法は?
コード
require('./locale/' + name)
のすべてのファイルを使用することができます。
locale
ディレクティブを使用します。そのため、webpackはすべてのファイルをモジュールとしてバンドルに含めます。どの言語を使っているかはわかりません。
があります。
2つのプラグイン
は、どのモジュールをバンドルに含めるべきかについて webpack にもっと情報を与えるのに便利です。
ContextReplacementPlugin
と
IgnorePlugin
.
require('./locale/' + name)
というのは
コンテキスト
(webpackはこのコード断片からいくつかの情報を推測します。ディレクトリと正規表現です。ここでは
directory = ".../moment/locale"
regular expression = /^.*$/
. そのため、デフォルトでは
locale
ディレクトリが含まれます。
は、その
ContextReplacementPlugin
は、推論された情報を上書きすることができます。つまり、新しい正規表現を指定します (含めたい言語を選択するため)。
もう一つの方法は
IgnorePlugin
.
以下はその例です。
var webpack = require("webpack");
module.exports = {
// ...
plugins: [
new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /de|fr|hu/)
// new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)
]
};
関連
-
[解決済み】JavaScriptのisset()に相当するもの
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】Uncaught SyntaxError: JSON の位置 0 に予期しないトークン u があります。
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] webpackでjQueryプラグインの依存関係を管理する
-
[解決済み] [Solved] Moment.jsで日付から時間を削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】module.exports "モジュールが定義されていません"