學習nodejs還有很多的不懂,現在寫下我學習的心得以及整理下筆記:
下面是我整理的筆記:
1、初識node.js
簡單的說Node.js 就是運行在服務器端的JavaScript。
Node.js 是一個基於Chrome JavaScript 運行時建立的一個平台。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。
Node.js 的包管理器 npm,是全球最大的開源庫生態系統。
Node.js官網:https://nodejs.org/en
npm官網:https://www.npmjs.com
2、node.js命令介紹(cmd終端執行)
查看node版本: node –v
查看npm版本:npm -v
進入node環境:node
退出node環境:兩次ctrl+c
3、nodejs內置模塊
NodeJS沒有自己的語法,JS能寫什么,node就能運行什么
***但是要注意,僅限於JS語言核心部分。DOM、BOM不能用,node沒有瀏覽器的那些東西。**
Nodejs fs模塊官網:http://nodejs.cn/api/fs.html
fs是file system文件系統的意思,提供了對文件的所有操作。
var fs=require("fs");
fs模塊有個方法叫readFile,可以異步讀文件內容
1 //err參數:錯誤信息,沒有錯誤將返回null 2 //data參數:返回文件的內容 3 var fs = require("fs"); 4 fs.readFile("./aaa/01.txt", function(err, date) {//readFile F一定要大寫 5 if(err){ 6 console.log(err + "打開文件夾錯誤"); 7 return; 8 } 9 //讀取的是信息流,是Buffer是緩沖的二進制,用toString()轉為字符串 10 console.log(date.toString()); 11 });
運行結果如下:
在Nodejs中要適應回調套回調函數,寫法如下:
1 var fs = require("fs"); 2 3 fs.readFile("./test1.txt",function(err,data){ 4 console.log(data.toString()); 5 6 fs.readFile("./test2.txt",function(err,data){ 7 console.log(data.toString()); 8 9 fs.readFile("./test3.txt",function(err,data){ 10 console.log(data.toString()); 11 }); 12 }); 13 });
如果不想寫異步回調函數,可以使用同步版本的函數,寫法如下:
1 var data = fs.readFileSync("AAA.txt","utf8"); 2 console.log(data);
fs.writeFile()是寫入文件的方法
那么有讀就必須有寫,fs.writeFile()是寫入文件的方法:
1 //同步函數 2 fs.writeFileSync("BBB.txt", "Hello World"); 3 4 //異步函數 5 fs.readFile("AAA.txt","utf8",function (err,data) { 6 if (err) throw err; 7 console.log(data); 8 });
讀寫操作:
1 讀寫操作: 2 fs.readFile("AAA.txt","utf8",function (err,data) { 3 if (err) throw err; 4 //將讀取到的文件內容寫入CCC文件中 5 fs.writeFile("CCC.txt", data); 6 });
寫讀操作:
1 var fs=require("fs"); 2 //{ 'flag': 'a'}追加參數,使寫入的時候不會清空原來的寫入的值。傳遞了追加參數 { 'flag': 'a' } 3 //"\n"或者"\r"表示輸出的內容換行。 4 fs.writeFile("./aaa/01.txt","Hello World"+"\n",{ 'flag': 'a'},function(err,date){ 5 if(err){ 6 console.log("寫入錯誤"); 7 return; 8 } 9 //任意的,寫入的時候它先執行並先顯示。 10 console.log("aaa"); 11 fs.readFile("./aaa/01.txt",'utf8', function(err, date){ 12 console.log(date.toString()); 13 14 }); 15 console.log("b"); 16 })
執行如下:
fs.mkdir()創建文件夾
1 // 創建文件夾 同步函數 2 fs.mkdirSync("stuff"); 3 // 創建文件夾(異步函數) 並 讀寫文件 4 fs.mkdir("fileTxt", function() { 5 fs.readFile("AAA.txt",function (err,data) { 6 if (err) throw err; 7 fs.writeFile("./fileTxt/DDD.txt", data); 8 }); 9 });
fs.unlink()刪除文件夾
1 // 刪除文件(異步) 2 fs.unlink("AAA.txt"); 3 4 // 刪除文件夾(同步) 5 fs.rmdirSync("img"); 6 7 // 刪除文件(異步)並 刪除文件夾(異步) 8 fs.unlink("./txt/AAA.txt",function(){ 9 fs.rmdir("txt"); 10 });