Commander,教你如何用 Node.js 開發 CLI 工具!

身為一位 CLI(Command Line Interface, CLI) 控,自幹開發用的輔助工具時當然也要自幹一個屬於自己的 CLI 工具啊!不然怎麼對得起那個常駐在下方的 Terminal 呢?不過自幹工具不是本篇重點,今天是要來跟大家講講 Commander 這一個 Node 模組。

Commander 是一個專門解析啟動程式時所輸入的參數的模組。以我們最常輸入的 npm install 這個指令為例子來說明,npm 是指程式名稱,install則是指要程式執行的動作,這個就是所謂的參數,以 C 語言來說的話大概就是 argv 這個放在 main 括號中的東西了。

繼續閱讀 “Commander,教你如何用 Node.js 開發 CLI 工具!”

GT Pack – 私藏的 Webpack 整合簡化模組。

嗨,大家好久不見。

筆者最近正朝著萬能的全端開發者邁進,而最近遇到了一個棘手的問題,就是使用 Webpack 時的各種麻煩事,所以我與我的好夥伴好朋友 Single Zero 就一起弄了這一個整合包模組,讓我們只要一些基本的設定後,什麼 ES6、Less、樣版引擎啥的都能快速搞定,而且支援在不同需求中的不同設定,然後只需要在專案根目錄下一次 webpack 指令便能根據各自的設定完成打包。

雖然比起全自由的wepback.config.js有些許限制,但個人覺得夠用了 XD

而且因為有了這個模組,我們考試都考100分就不需要再手動安裝和設定一堆有的沒的,設定到腦神經衰落還不會動。

繼續閱讀 “GT Pack – 私藏的 Webpack 整合簡化模組。”

Node.js 做一個 NPM 模組更新或安裝的進度條

前陣子因為專案需求,我需要一個在使用 npm 更新或安裝模組時回推提示的方式。原本的想法是直接透過 Node 呼叫 Shell Script 來做這件事情,等 Shell Script 做完就將視為動作完成。

但這樣其實有缺點,除了回送的無用資訊很多之外,那就是我們無法讓更新的動作被主程式所監視,還有最重要的是,這樣的方式沒有辦法做出進度條!這很重要!更新的 UI 上無法顯示進度條是我無法接受的事!

繼續閱讀 “Node.js 做一個 NPM 模組更新或安裝的進度條”

Node.js 從無到有 – 做一個簡易部落格(一)

近年最熱門的程式語言我想非 Node.js 所用的 JavaScript 莫屬。過去 JavaScript 只存在於前端網頁的互動介面,現在則是包含伺服器端的程式撰寫也都能用相同的程式語法來寫,我想這世界上大概找不到第二個守備範圍如此廣泛的程式語言了。

繼續閱讀 “Node.js 從無到有 – 做一個簡易部落格(一)”

想建造自己的 Cloud9 雲端環境?兩步驟讓你擁有!

Cloud9 SDK

我們曾經介紹過 Cloud9 這一個雲端環境,當時所介紹的是官方所提供的版本,那一定會有人想問:「有沒有可以自行架設的版本呢?」

答案是,有的!

繼續閱讀 “想建造自己的 Cloud9 雲端環境?兩步驟讓你擁有!”

在找免費的電路模擬器?123D Circuits 滿足你的願望!

123D CIRCUITS

又快過完一個學期了,是否正在為專題煩惱呢? 或是你正因為學校所教的電子電路課程在家無法實做而感到麻煩嗎? 還是說你是一位剛剛接觸 Arduino 的自造者(Maker),對於自己所創造的東西不會動又找不出原因而感到煩躁?

試試 123D CIRCUITS 吧!這個由 AUTODESK 提供的線上模擬器擁有相當全面的功能,你只需要打開瀏覽器、登入這個網站然後你就可以開始接線路還能在上面寫 Arduino 程式來測試呢!如果你還有印象,之前發表過的 Arduino 教學文章也有用到這個網站。

繼續閱讀 “在找免費的電路模擬器?123D Circuits 滿足你的願望!”

Beaglebone Black – 透過 NodeJS 使用 RF24 Library

RF24 是一個相當完整的 nRF24L01 函式庫(library),它目前支援許多平台,例如 Arduino、樹莓派等等,先前有草草的介紹過。

最近因為在使用 Beaglebone Black (BBB) 這個單板電腦在做些實驗,需要用到 nRF24L01,本來是想直接用已寫好並放在 NPM 中的套件,結果發現無法使用,於是就想起了 RF24 有支援到 BBB,但遇到了些麻煩。

因為我只想用 NodeJS 去做大部分的控制,並不想要用 RF24 那種全 C/C++ 的方式來做,所以我就寫了一個簡單的程式來讓 NodeJS 與 RF24 能夠傳遞訊息並且操作 nRF24L01 模組。

繼續閱讀 “Beaglebone Black – 透過 NodeJS 使用 RF24 Library”

Ubuntu – 讓 Sendmail 以 Gmail 的 SMTP 來發送信件

前陣子我在設定實驗室在用的伺服器,為了一些需求,要從伺服器寄送一些電子信件出來。不過之前的經驗是,直接從伺服器送出的信件會被當作是垃圾郵件,所以這次想透過 Gmail 的 SMTP 來送信件,而實測結果是這樣的方法的確不會再被當做垃圾郵件了。

繼續閱讀 “Ubuntu – 讓 Sendmail 以 Gmail 的 SMTP 來發送信件”