由于我已经拥有jQuery
和React
的缩小版本,因此我不需要对它们进行uglification。我想要的是bundle.js
包含完全相同的jquery.min.js
和react.min.js
。基本上,我希望webpack
只是将它们连接起来。还有一件事,我不想要externals
。我怎样才能实现它?
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 :(得分:2)
UglifyJsPlugin
始终在整个webpack JS输出上运行。没有办法指定任何块或模块来忽略o exclude。
如果您真的不希望Uglify重新缩小这些文件,除了使用externals
而不是alias
之外别无选择,只需自己连接它们。
然而,我真的,真的建议你不要这样做。通常情况下,让webpack需要并缩小所有内容会好得多。只要您使用webpack的process.env.NODE_ENV
将production
设置为DefinePlugin
,最终结果将相同或更小,并且您不会将React或jQuery泄漏到您的窗口。