跳至主要内容

Koa 與 Express 的核心差異

· 閱讀時間約 30 分鐘
Bosh
Software Engineer

前言:
最近在公司被分派一個 Koa backend 的功能開發任務,雖然我平時多數時間主要負責前端相關的工作,不過因為學生時期有稍微接觸過一點 Express,它與 Koa 都是 Node.js 知名 web 框架,所以閱讀程式碼時並不會太陌生。這兩者雖然有不少相似之處,但實際使用後發現,它們在設計理念和使用體驗上有很大的不同。

React 專案配置 i18n 多國語系

· 閱讀時間約 8 分鐘
Bosh
Software Engineer

前言:
最近我在更新公司內部的前端 Codebase,其中一項任務是為應用加入多國語系(i18n)的支持。雖然在舊專案上一直有在使用 i18n 的功能,但這是我第一次接觸 i18n 的配置,正好藉此機會把學習過程和實作細節記錄下來。

新舊時代 JS Bundler 的世代交替 - Vite vs. Webpack 的詳細比較

· 閱讀時間約 42 分鐘
Bosh
Software Engineer

在過去,當我們談論到 JavaScript 前端開發環境時,很難不提到 Webpack 。這款在 2012 年誕生的強大工具,在過去的 10 年內一直是最主流的前端打包工具 。然而,在 2020 年一個名為 Vite 的新興工具迅速崛起,挑戰著 Webpack 的霸主地位。根據 2023 年 State of JavaScript 網站所統計的資料顯示,Vite 僅花了短短三年就成為使用規模第二大的 Build Tools,如果單看 Interest 或 Positivity 指標的話,甚至都穩坐第一名的位置。

使用 Gitlab package registry 發布與下載私人 npm 套件全記錄

· 閱讀時間約 16 分鐘
Bosh
Software Engineer

前情提要:
近期在幫公司開發一個提供內部前端成員使用的 npm package。在開發的過程中有一個比較麻煩的點是,我過去從來沒有開發過 npm package 的經驗,對於如何設置開發環境、打包、發布、維護可說是完全從零開始研究。再加上公司不希望這個 package 開源給外部使用,也沒有計劃要付費使用 npm Orgs 的私人 npm 功能。因此,除了研究如何開發 npm package 之外,同時還得研究是否有免費且適合我們公司的私人 npm library 的解決方案。

剖析JS 「萬物皆物件」的迷思

· 閱讀時間約 7 分鐘
Bosh
Software Engineer

初學 JavaScript 時,偶爾會在教學文或討論區中看到這樣的說法:

「在 JavaScript 中,萬物皆為物件。」

便在潛意識中埋下一個 JS 中所有變數都是物件的種子。如今因為工作上大量使用 JS 這個語言,對 JS 這個語言有比較深一點的了解後,便想要回來探討這個議題。

先講結論,這個說法是不正確的。

但是,我相信正在看這篇文章的你應該也跟我一樣,會想要了解為什麼訪間會有 「JavaScript 萬物皆為物件」 的說法,以及這個說法背後的論點是什麼?反對這個說法的論點是什麼?本篇文章將帶大家探討這個議題,挖掘正反兩方的論點,並釐清一些 JS 的觀念。