最近寫了個簡單的命令行工具,用node 知足一些工做上的需求。是一個處理圖片的腳本,一開始只有一個指令,將指定圖片輸出成配置好的不一樣大小尺寸的圖片。後面加上了圖片壓縮,以及圖片轉base64的功能。就在寫這個圖片處理工具的過程當中,本身獲得了一些理解。前端
項目結構node
項目一開始的幾個文件夾,先新建好。什麼constants,lib,utils之類的都安排上。雖然麻煩點,但起碼看着舒服,別人查看你的項目的時候也方便。至少不會以爲你外行(就在寫這個的同時,忽然想到能夠在本身的腳手架工具中加一個文件夾結構生成指令。。。哈哈哈程序員
代碼結構設計模式
實際代碼中的嗨點閉包
我是前端程序員,慢慢的在寫JS的時候,發現一些很舒服的點(自嗨)編輯器
適當的運用閉包,尖頭函數,高階函數,這些概念要多去理解,多運用。實踐起來以後真的很嗨函數
好比:工具
const handleGenerateFail = spinner => err => { spinner.text = `壓縮圖片失敗:\n\n${err}` spinner.fail() } const handleGenerateSucceed = spinner => _output => { spinner.text = `壓縮圖片成功` spinner.succeed() console.log('\n查看', _output) } const spinner = ora(`圖片壓縮中`).start() const failHandler = handleGenerateFail(spinner) const successHandler = handleGenerateSucceed(spinner)
最後編碼
記錄一下本身在洗澡的時候想到的一些東西(廁所真的是一個激發靈感的好地方插件