2016-11-27 4 views
0

jQueryReactの縮小版を既に持っているので、私はuglificationを必要としません。私が欲しいのは、はまったく同じjquery.min.jsreact.min.jsを含んでいます。基本的には、私はwebpackがそれらを連結することを期待しています。もう一つ、私は望んでいませんexternals。どうすれば達成できますか?webpackの* .min.jsのuglificationを除外する方法

const webpack = require("webpack"); 

module.exports = { 
    "entry": ["./src/main/index.js"], 
    "output": { 
    "filename": "[name].js", 
    "libraryTarget": "umd" 
    }, 
    "module": { 
    "rules": [ 
     { 
     "test": /\.(js|jsx)$/, 
     "exclude": /node_modules/, 
     "loader": "babel-loader", 
     "options": { 
      "presets": ["es2015", "react"] 
     } 
     } 
    ] 
    }, 
    "resolve": { 
    "alias": { 
     "jquery": "jquery/dist/jquery.min.js", 
     "React": "react/dist/react.min.js", 
     "ReactDom": "react-dom/dist/react-dom.min.js" 
    } 
    }, 
    "plugins": [ 
    new webpack.optimize.UglifyJsPlugin({ 
     "test": /\.(js)$/, 
     "exclude": /node_modules/, 
     "compress": true 
    }), 
    ] 
} 
+0

このように除外してください。除外:/ \ .min \ .js $/' – Thaadikkaaran

+0

webpack.optimize.uglifyjspluginの実装には除外がありません。 https://github.com/webpack/webpack/blob/master/lib/optimize/UglifyJsPlugin.js – WooD

答えて

2

UglifyJsPluginは常にWebpack JS出力全体で実行されます。 o除外を無視するチャンクまたはモジュールを指定する方法はありません。

実際にUglifyでこれらのファイルを再圧縮したくない場合は、aliasの代わりにexternalsを使用して、単にそれらを連結する以外の方法はありません。

しかし、私は本当にこのようにしないことをお勧めします。あなたは一般的に、webpackに必要なものを与え、すべてを小さくするほうがずっと良いです。 WebpackのDefinePluginを使用してprocess.env.NODE_ENVproductionに設定する限り、最終結果は同じかそれより小さくなり、ReactまたはjQueryをウィンドウにリークさせません。

+0

こちらをご覧ください。私は私のミニバージョンよりも公式のミニバージョンを好む。私は私のミニバージョンが生産ビルドを壊すことに懸念しています。公式のminバージョンを生成するための公式の設定や引数が分かっていても、これらの設定や引数は他のlibには合わないかもしれません。これによりwebpackの設定で多くの例外的なケースが発生します。私は何も公式より良いとは言えません。とりあえずありがとう! – WooD

+0

WebpackはUglifyを賢明なデフォルトで使用しますが、恐れられることはありません。デフォルト設定のUglifyは、非常に注意深く、広く使用されており、何も破壊しないことが分かっているので、心配しないでください。 WebpackedのWebサイトには数多くのWebサイトがあり、月間ユニークビジター数は100万人を超え、不満はゼロです。すべてが常にうまくいく。本当に、心配しないで! – Ambroos

+0

指定した方法で除外する方法の例を表示できますか? – Sawtaytoes

関連する問題