久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

ES6語法和webpack壓縮實例分析

161次閱讀
沒有評論

共計 2049 個字符,預(yù)計需要花費 6 分鐘才能閱讀完成。

本文丸趣 TV 小編為大家詳細(xì)介紹“ES6 語法和 webpack 壓縮實例分析”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“ES6 語法和 webpack 壓縮實例分析”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

首先介紹下在本文出現(xiàn)的幾個比較重要的概念:

函數(shù)計算(Function Compute): 函數(shù)計算是一個事件驅(qū)動的服務(wù),通過函數(shù)計算,用戶無需管理服務(wù)器等運行情況,只需編寫代碼并上傳。函數(shù)計算準(zhǔn)備計算資源,并以彈性伸縮的方式運行用戶代碼,而用戶只需根據(jù)實際代碼運行所消耗的資源進(jìn)行付費。函數(shù)計算更多信息   參考。
Fun: Fun 是一個用于支持 Serverless 應(yīng)用部署的工具,能幫助您便捷地管理函數(shù)計算、API 網(wǎng)關(guān)、日志服務(wù)等資源。它通過一個資源配置文件(template.yml),協(xié)助您進(jìn)行開發(fā)、構(gòu)建、部署操作。Fun 的更多文檔   參考。
2.0 版本的 Fun,在部署這一塊做了很多努力,并提供了比較完善的功能,能夠做到將云資源方便、平滑地部署到云端。但該版本,在本地開發(fā)上的體驗,還有較多的工作要做。于是,我們決定推出 Fun Init 彌補(bǔ)這一處短板。
Fun Init: Fun Init 作為 Fun 的一個子命令存在,只要 Fun 的版本大于等于 2.7.0,即可以直接通過  fun init  命令使用。Fun Init 工具可以根據(jù)指定的模板快速的創(chuàng)建函數(shù)計算應(yīng)用,快速體驗和開發(fā)函數(shù)計算相關(guān)業(yè)務(wù)。官方會提供常用的模板,用戶也可以自定自己的模板。

背景

當(dāng)我們寫 nodejs 函數(shù)時,函數(shù)往往會依賴很多第三方依賴,這樣導(dǎo)致函數(shù)代碼少則幾十兆,多則上百兆。代碼包太大,會有如下問題:

可能會導(dǎo)致沒法成功上傳代碼到函數(shù)計算服務(wù),因為函數(shù)計算服務(wù)對代碼包大小是有限制的,壓縮后最大不能超過 50 MB,解壓后最大不能超過 250 MB

會導(dǎo)致冷啟動時間是變大,因為下載代碼的過程變大了

每次更新代碼時間變大

另外,函數(shù)計算目前只支持 nodejs8 和 nodejs6 這兩個版本,這兩版本不支持 es6 語法,但是我們可能已經(jīng)寫習(xí)慣了 es6 語法該怎么辦呢?

熟悉 nodejs 的同學(xué)應(yīng)該知道,項目工程化管理工具 webpack,我們完全可以通過 webpack 將 es6 代碼編譯成 es5,并且剪切打包壓縮成一個 js 文件,然后將該 js 文件上傳到函數(shù)計算中運行。

快速開始

我這里提供了一個 fun 模板,幫助快速搭建一個函數(shù)計算 nodejs 項目骨架,支持 es6 代碼編譯成 es5,并且剪切打包壓縮成一個 js 文件,然后將該 js 文件上傳到函數(shù)計算中運行。操作作步驟如下:

1. 安裝 node

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
nvm install 8

2. 安裝 fun 工具

npm install @alicloud/fun -g

fun 工具的某些子命令可能會用到 docker,所以你需要安裝好 docker,具體參考文檔:Fun 安裝教程。

3. 通過 fun 模板生成項目骨架

fun init -n demo https://github.com/muxiangqiu/fc-skeleton-nodejs8.git

項目生成好后,在根目錄下有個 README.md 文件,閱讀該文件可以幫你快速了解項目骨架為你做了什么,以及相關(guān)的命令。具體詳情:README.md。

4. 安裝依賴

cd demo #  切換到項目根下面,后面的所有命令,都是在項目根下面執(zhí)行
npm install

注意:有少數(shù)特殊 npm 模塊的安裝可能會依賴當(dāng)前系統(tǒng)環(huán)境,為了能正確安裝函數(shù)運行時的系統(tǒng)環(huán)境的 npm 模塊,可以通過  fun install  命令來實現(xiàn),比如 puppeteer,具體參考:開發(fā)函數(shù)計算的正確姿勢 —— 安裝第三方依賴。

5. 編譯

#  生產(chǎn)編譯
npm run build
#  開發(fā)編譯(這種編譯方式不會進(jìn)行代碼混淆,并且生成  source map  信息,方便開發(fā)調(diào)試)npm run dev

6. 本地運行函數(shù)

fun local invoke demo/demo

7. 運行調(diào)試函數(shù)

運行調(diào)試之前,請先用  npm run dev  命令編譯源碼,然后以調(diào)試的方式運行函數(shù):

fun local invoke -d 3000 demo

程序會提示你輸入函數(shù)的 event,如果你不需要輸入,可以按  ctrl+d  跳過輸入,接下來,并不會繼續(xù)往下執(zhí)行,只有 vs code 的連接上來后,程序才會繼續(xù)執(zhí)行。如何通過 vs code 連上來,并開始調(diào)試呢?如下圖所示:

8. 部署函數(shù)到云端

部署函數(shù)的時候需要用到 AK 等下信息,可以通過  fun config  來配置,如果配置過請忽略,部署函數(shù)命令如下:

fun deploy

讀到這里,這篇“ES6 語法和 webpack 壓縮實例分析”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計2049字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 东乌珠穆沁旗| 清苑县| 毕节市| 辽中县| 乐清市| 惠水县| 海兴县| 永济市| 银川市| 海兴县| 神池县| 会泽县| 深圳市| 登封市| 揭东县| 凤山市| 利川市| 台湾省| 凤山市| 朝阳区| 科尔| 哈巴河县| 玛沁县| 即墨市| 饶平县| 商城县| 天台县| 成武县| 石台县| 买车| 托克托县| 读书| 乡宁县| 丰镇市| 新绛县| 平和县| 苍山县| 益阳市| 汝阳县| 万荣县| 靖远县|