這篇文章將為大家詳細(xì)講解有關(guān)webpack中怎么打包壓縮js和css文件,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供黃驊網(wǎng)站建設(shè)、黃驊做網(wǎng)站、黃驊網(wǎng)站設(shè)計、黃驊網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、黃驊企業(yè)網(wǎng)站模板建站服務(wù),十載黃驊做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
打包壓縮js與css
由于webpack本身集成了UglifyJS插件(webpack.optimize.UglifyJsPlugin)來完成對JS與CSS的壓縮混淆,無需引用額外的插件,
其命令 webpack -p 即表示調(diào)用UglifyJS來壓縮代碼,還有不少webpack插件如 html-webpack-plugin 也會默認(rèn)使用UglifyJS。
uglify-js的發(fā)行版本只支持ES5,如果你要壓縮ES6+代碼請使用開發(fā)分支。
UglifyJS可用的選項有:
parse 解釋
compress 壓縮
mangle 混淆
beautify 美化
minify 最小化//在插件HtmlWebpackPlugin中使用
CLI 命令行工具
sourcemap 編譯后代碼對源碼的映射,用于網(wǎng)頁調(diào)試
AST 抽象語法樹
name 名字,包括變量名、函數(shù)名、屬性名
toplevel 頂層作用域
unreachable 不可達(dá)代碼
option 選項
STDIN 標(biāo)準(zhǔn)輸入,指在命令行中直接輸入
STDOUT 標(biāo)準(zhǔn)輸出
STDERR 標(biāo)準(zhǔn)錯誤輸出
side effects函數(shù)副作用,即函數(shù)除了返回外還產(chǎn)生別的作用,比如改了全局變量
列一份配置:
//使用插件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'] //用于配置程序可以自行補(bǔ)全哪些文件后綴 }, 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, //當(dāng)刪除沒有用處的代碼時,顯示警告 loops: true //當(dāng)do、while 、 for循環(huán)的判斷條件可以確定是,對其進(jìn)行優(yōu)化 }, except: ['$super', '$', 'exports', 'require'] //混淆,并排除關(guān)鍵字 }) ] };
這里需要注意的是壓縮的時候需要排除一些關(guān)鍵字,不能混淆,比如$或者require,如果混淆的話就會影響到代碼的正常運行。
列幾個壓縮時常有的屬性:
dead_code -- 移除沒被引用的代碼
loops -- 當(dāng) do 、 while 、 for 循環(huán)的判斷條件可以確定是,對其進(jìn)行優(yōu)化。
warnings -- 當(dāng)刪除沒有用處的代碼時,顯示警告
關(guān)于webpack中怎么打包壓縮js和css文件就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞標(biāo)題:webpack中怎么打包壓縮js和css文件
網(wǎng)站鏈接:http://www.rwnh.cn/article32/jdcipc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站營銷、做網(wǎng)站、用戶體驗、網(wǎng)頁設(shè)計公司、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)