Node.js 8 搭配 npm 5 速度

yarn-kitten-full 這個月 Node.js 釋出 8.0 版本,搭配的就是 npm v5.0.0 版本,上一篇寫到如何透過 Yarn 指令移除 devDependencies 內的 Package 套件,減少 node_modules 大小,有網友提到那 npm 5 的速度為何?其實筆者已經好久沒有用 npm 了,但是有人提問,我就立馬來測試看看 npm vs yarn 的速度,詳細數據可以參考此專案說明。測試方法如下 Continue reading “Node.js 8 搭配 npm 5 速度”

減少 node_modules 大小來加速部署 Node.js 專案

yarn-kitten-full 相信 Node.js 開發者現在大部分都在使用 Yarn 了吧?如果還不知道或無法體會 Yarn 帶來的好處可以參考之前寫的一篇『用 Yarn 取代 Npm 管理 JavaScript 套件版本』,帶你體會 yarn install vs npm install 的速度差異。本篇最主要會介紹在部署 Node.js 專案都需要把 node_modules 壓縮一起丟到遠端伺服器 (假設你不是用 Docker 部署),這時候來聊聊怎麼減少 node_modules 大小。 Continue reading “減少 node_modules 大小來加速部署 Node.js 專案”

用 Yarn 取代 Npm 管理 JavaScript 套件版本

yarn-kitten-full 新一代戰神 Yarn 終於在昨天出爐了,Yarn 跟 Npm 一樣都是 JavaScript 套件版本管理工具,但是 Npm 令人詬病的是安裝都是非常的慢,快取機制用起來效果也不是很好,所以 Yarn 的出現解決了這些問題,透過 Yarn 安裝過的套件都會在家目錄產生 Cache (目錄在 ~/.yarn-cache/),也就是只要安裝過一次,下次砍掉 node_modules 目錄重新安裝都會從 Cache 讀取。Yarn 詳細的功能架構可以參考 Facebook 發表的 Yarn: A new package manager for JavaScript,本篇不會教大家怎麼使用 Yarn,因為指令實在是太容易了,可以參考官方提供的如何從 npm 轉換到 yarn,底下則是來測試比較兩者安裝套件的速度。 Continue reading “用 Yarn 取代 Npm 管理 JavaScript 套件版本”

用一行指令加速 npm install

Npm-logo.svg 不久之前寫過一篇 提升 npm install 安裝速度,但是發現速度還是沒有變快,在 DevOps 的流程花在 npm install 的時間非常冗長,造成每次測試或 Deploy 都要花大量時間等待,且吃掉很多機器的資源,本篇要提供一個小技巧改善 npm install 安裝時間,其實簡單來說就是 cache 第一次安裝好的 node_modules 目錄,之後每次安裝就拿 cache 目錄來新增或減少 packages 即可。 Continue reading “用一行指令加速 npm install”

ScaleDrone Websocket 平台從 Node.js 轉換到 Golang

Go-brown-side.sh 又看到一間網路平台公司從 Node.js 跳到 Golang 了。ScaleDrone 是一間提供了 websocket 服務的公司,讓 web 可以透過 ScaleDrone 即時將訊息傳播到各種瀏覽器,但是今天看到 ScaleDrone 即將把後端平台使用的語言從 Node.js 轉換到 Golang,為什麼要轉語言呢,官方提到大量的 Websocket 連線,讓伺服器記憶體快吃不消了,然而 ScaleDrone 用 Go 語言來實際測試,發現記憶體不但沒有增加,反而還降低了 response 及 connections 時間。底下是針對 Node.js vs Go 語言轉換比較。 Continue reading “ScaleDrone Websocket 平台從 Node.js 轉換到 Golang”

提升 npm install 安裝速度

Npm-logo.svg

npmNode.js 套件管理模組,相信大家對 npm 不會很陌生,如果對於 npm 不了解的,可以參考阮一峰寫的這篇文章,今天要來探討的是如何提升 npm install 的安裝速度,如果你正在嘗試 npm@3 版本,我建議可以先換到 npm@2 的版本會比較快(為什麼呢?底下有數據會說話)。Github issue 上也蠻多速度上的討論,然而前幾天有網友發表一篇關掉 progress 提升不少速度,實際上我們可以拿專案來測試 npm@2 及 npm@3 的速度看看。

Continue reading “提升 npm install 安裝速度”

TJ 的新作品 frontend boilerplate 前端工具整合

github-logo

今天突然看到 TJ 開了一個新 Repo 是 frontend boilerplate 嚇到我了,自從 TJ 去年發表要轉向 Go 之後,就把他自己很多的 Node.js Project 轉給其他人維護,也漸漸沒在 Github 上面活動,但是今天又看到她整理了一份 frontend boilerplate,內容含了現代流行的前端開發工具,大家可以參考看看,是個不錯的 Template:

期待 TJ 能有其他新作品啊。

JavaScript in 2015

Screen Shot 2015-09-09 at 2.03.34 PM

在這幾年的趨勢看來,JavaScript 已經環繞在各領域了,不管在 Web 前端或後端,上層或下層,都充滿了 JavaScript,其實都是托 Node.js 的福,網路上看到這篇 JavaScript in 2015,裡面講到 JavaScript 所有的工具,不管前端到後端,每一年都有新的工具跟新的 Framework,從以前寫 BackboneAngular.js 到現在 React.js 改變了整個 JavaScript View 的生態,工具流程整合從 Grunt.jsGulp.js 的出現,整個生態又轉換了,大家陸續將工具全都轉到 Gulp,最後又出來一套 Webpack,Webpack 出現基本上不會影響 gulp 發展,因為 Webpack 還是有很多限制,在前端或後端在上 Production 前的一些流程像是 copy 檔案等,這些是 webpack 無法整合的,看到這些工具一一出現,也不知道明年或現在會不會又跑出一套新的玩具,讓整個 JavaScript 生態整個改變。寫上層的同時,看到同事在寫底層,同事就會跑過來拍拍我肩膀說:『好險我是搞 Kernel,搞上層就要跟你們一樣天天追新技術,永遠沒有停止的一天』。看一下全世界 Job Trends

Continue reading “JavaScript in 2015”