點燈坊

新しいことを始めるのに、遅すぎる挑戰はない

タグ : Node

使用 NVM 管理 Node.js 版本

雖然 Vue 3 並不太挑 Node.js 版本,只要符合最低需求 Node.js 18.0 以上即可,但其所使用的 NPM Package 則可能會挑版本,因此實務上還是建議使用 NVM (Node Version Manager) 管理 Node.js 版本。

Reading JSON File in Node

We often use JSON files to store configuration. For example, hostportloginpassword and database settings for the database server. Since Node supports ES module, we can just use import statement to import JSON files synchronously.

將 Node 包進 Nginx Image

在 Microservice 架構下,理論上 Nginx 與 Node 應該各自放在不同 Container 下,但有時 API 就是要控制 Nginx 或其他執行檔如 FFmpeg,此時將 Node 與 Nginx 包在同一個 Image 會更方便。

手動更新 Yarn

有時在下 yarn install 時,會出現 Your current version of Yarn is out of date. 的警告訊息,該如何更新 Yarn 到最新版呢 ?

Yarn 的 Global Package 存放位置

我們知道 Yarn 的 Local Package 都存在 Project 的 node_modules 目錄下,必要時我們可以自行刪除 node_modules 目錄,再重新 yarn install 重新安裝;但 Global Package 到底存在什麼目錄下呢 ?

Yarn Cheat Sheet

Yarn 速度比 NPM 快,且 Command 也比較精簡,但不少文件仍使用 NPM,特別記下常用 Command 對照表。

讀取 Package.json 的 Property

NPM Script 是很好用的工具,可自行將需要自動化部分整理成 NPM Script,由於 package.json 本身就是 JSON 格式,因此 NPM Script 也可以讀取到其 Property 加以應用。

開發前後端都能使用 Package

ECMAScript 最迷人的地方除了 First Class Function 外,可以前後端共用相同語言與 Package 也是一大特色,本文將使用 ECMAScript 2015+ 建立 ES Module,並透過 Babel 轉譯成 CommonJS Module,讓前後端都能使用相同 。

Node 使用 ES Module

ES Module 是 ECMAScript 2015 最重要發明,而從 Node 12 開始也正式支援 ES Module,甚至還可將 Import 語法用在原本 CommonJS Module。

解決 No Xcode or CLT Version Detected

當升級到 macOS Catalina 之後,每當 yarn install 或由 Yarn 安裝新的 Package 時,都會看到 No Xcode or CLT Version Detected 錯誤訊息,明明 Xcode Command Line Tools 已經成功安裝,為什麼還是會錯誤呢 ?

NVM Cheat Sheet

NVM 是 Node 版本管理程式,可用來安裝/移除不同版本的 Node,還可以切換 Node 版本,若你大量依賴 Node 生態系,NVM 一定要安裝。

如何以 Vue + Node 實現 Microservice ?

若要使用 Microservice 架構,則會各自將 Vue 與 Node 包成 Docker Image,然後使用 Docker Compose 一次啟動 Vue 與 Node,此時 Node 會包在 Docker 內部網路,Vue 所需的 HTTP Service 與 Reverse Proxy 也能繼續由 Node 提供。