新聞中心
這篇文章將為大家詳細(xì)講解有關(guān)如何使用webpack4編譯并壓縮ES6代碼,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
前段時(shí)間第一次接觸了layabox游戲引擎做了一個(gè)項(xiàng)目,由于ES6相當(dāng)好用,所以在項(xiàng)目中使用了很多的ES6語(yǔ)法,但是在發(fā)布的時(shí)候發(fā)現(xiàn)該引擎無(wú)法壓縮ES6的代碼,而不進(jìn)行壓縮的話則代碼體積比較大
然后其實(shí)該引擎會(huì)將自己寫(xiě)的代碼打包在一個(gè)js文件中,所以也就只有一個(gè)js文件是沒(méi)有壓縮的,所以我就想到了自己使用webpack單獨(dú)對(duì)這個(gè)文件進(jìn)行壓縮,并將ES6語(yǔ)法編譯成ES5,做低版本瀏覽器的兼容。
第一步安裝webpack
1) 全局安裝webpack4
npm install webpack -g
創(chuàng)建一個(gè)文件夾(webpack4-babel-uglify),初始化項(xiàng)目
cd webpack4-babel-uglify npm init -y npm install webpack webpack-cli --save-dev
安裝編譯ES6的依賴插件
npm install babel-core babel-loader@7 babel-plugin-transform-runtime babel-preset-env --save-dev npm install babel-polyfill babel-runtime --save
在根目錄下創(chuàng)建src目錄,將需要編譯壓縮的js放在src目錄下
mkdir src
配置webpack.config.js
module.exports = { mode:'development', entry: { app: [ "babel-polyfill", "./src/index.js" //需要壓縮的js,目前只支持單個(gè)文件一個(gè)一個(gè)壓縮 = =! ], }, output: { path: path.resolve(__dirname, 'dist'), //輸出目錄 filename: 'index.js' //輸出文件名稱,建議與源文件同名 }, module: { rules: [{ test: /\.js$/, exclude: /(node_modules)/, use: { loader: "babel-loader" } }] } };
在根目錄下新建.babel文件,設(shè)置babel相關(guān)配置
{ "presets": [ [ "env", { "targets": { "browsers": [ //瀏覽器版本 "> 1%", "last 2 versions", "not ie <= 8", "iOS >= 6", "safari >= 6", "Firefox >= 20", "Android > 4", "android >= 4.4" ] } } ] ], "plugins": ["transform-runtime"] }
修改package.json中的打包命令
"scripts": { ... "build": "webpack" //新增這條命令 }
將需要壓縮編譯的js文件放入src下,并修改第五步中的文件名,之后執(zhí)行打包命令
npm run build
至此,壓縮編譯成功,壓縮編譯后的文件在dist目錄下
關(guān)于“如何使用webpack4編譯并壓縮ES6代碼”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)站欄目:如何使用webpack4編譯并壓縮ES6代碼-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://fisionsoft.com.cn/article/dojgsd.html