來學習一下用 node 寫入檔案的方法
學會這方法,可以用 node 寫腳本處理工作上的文書瑣事
建立 write-my-name.js
程式,裡面輸入
var fs = require('fs');
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
readline.question('請問您的大名?\n', function (answer) {
fs.writeFile('my-name.txt', answer, function (err) {
console.log('儲存成功。');
process.exit(0);
});
});
然後去終端機輸入
node write-my-name.js
你會看到終端機要求你輸入內容,接著會去更新文字檔內容!
第一段的 readline
模組,是處理 輸入/輸出
資訊的模組,後面要呼叫 createInterface
並且用全域變數 process
來設定輸入、輸出來源
照做就好,背後意義不用細究,能用就好,有興趣自行 google
readline.question
從終端機請求用戶輸入內容,\n
是換行字元,讓畫面更好看而已
注意 readline.question
後面還是把函式當參數傳,也就是依然採用「非同步程式設計」
很怪、很醜,對嗎?我同意,這語法設計實在意義不明
又不是在等待 AJAX 回應的同時,用戶可以先做別的事情
這邊就是要等用戶輸入完內容,程式往下走才有意義呀!
後面會教你如何改寫成「同步程式設計」,先照做就好
接續前一課的作業,現在來寫「新增」功能
請建立一個 create.js
檔案
使用者輸入 node create.js
之後,終端機會詢問
您要新增什麼待辦事項?
使用者可以輸入內容,接著終端機會顯示
新增事項:XXXXXX
打開 todos.json
查看,會看到剛剛輸入的項目出現在裡面
完成以上任務,你就完成這次的課程目標了!
歡迎將作業成果,在下方留言,跟大家分享,讓大家給你一些回饋!
可以將每課學到的觀念、關鍵字,丟到網路上去搜尋、研究一下!
發問請在「討論專區」為主,或者分享學習筆記、寫學習心得!
貼文都會出現在個人檔案頁面,成為學習歷程、部落格紀錄!
未來面試時,分享給面試官看,會讓人知道你的積極程度!
作業繳交
github