学习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 });