この記事では主に、webpack がどのように js と css をパッケージ化して圧縮するかの例を紹介し、参考として提供します。
js と css をパッケージ化して圧縮します
webpack 自体が UglifyJS プラグイン (webpack.optimize.UglifyJsPlugin) を統合して JS と CSS の圧縮と難読化を完了するため、追加のプラグインを参照する必要はありません,
コマンド webpack -p は、UglifyJS を呼び出してコードを圧縮することを意味し、html-webpack-plugin などの多くの webpack プラグインもデフォルトで UglifyJS を使用します。
uglify-js のリリースバージョンは ES5 のみをサポートしています。ES6+ コードを圧縮したい場合は、開発ブランチを使用してください。
UglifyJS で利用可能なオプションは次のとおりです:
parse use using using using ‐ ‐ ‐ ‐ ‐ ‐ –
CLI コマンドラインツールを使用する
sourcemap lugin でコンパイルされたコード ソース コードのマッピング、Web デバッグに使用される
AST AST 標準入力、
STDOUT の直接入力を指します。標準出力
STDERR
//使用插件html-webpack-plugin打包合并html //使用插件extract-text-webpack-plugin打包独立的css //使用UglifyJsPlugin压缩代码 var HtmlWebpackPlugin = require('html-webpack-plugin'); var ExtractTextPlugin = require('extract-text-webpack-plugin'); var webpack = require("webpack"); module.exports = { entry: { bundle : './src/js/main.js' }, output: { filename: "[name]-[hash].js", path: __dirname + '/dist' }, module: { rules: [ { test: /\.css$/, use: ExtractTextPlugin.extract({ fallback: "style-loader", use: "css-loader" }) }, { test: /\.(png|jpg|jpeg|gif)$/, use: 'url-loader?limit=8192' } ] }, resolve:{ extensions:['.js','.css','.json'] //用于配置程序可以自行补全哪些文件后缀 }, plugins:[ new HtmlWebpackPlugin({ title: 'hello webpack', template:'src/component/index.html', inject:'body', minify:{ //压缩HTML文件 removeComments:true, //移除HTML中的注释 collapseWhitespace:true //删除空白符与换行符 } }), new ExtractTextPlugin("[name].[hash].css"), new webpack.optimize.UglifyJsPlugin({ compress: { //压缩代码 dead_code: true, //移除没被引用的代码 warnings: false, //当删除没有用处的代码时,显示警告 loops: true //当do、while 、 for循环的判断条件可以确定是,对其进行优化 }, except: ['$super', '$', 'exports', 'require'] //混淆,并排除关键字 }) ] };
ネイティブ ajax を使用して json 文字列を処理する方法
以上がwebpack が js と css をパッケージ化して圧縮する方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。