一。理解node.js
node.js是一个基于Chrome V8 引擎的JavaScript运行环境。
Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。
事件驱动:简单理解就是所有的操作都封装成一个函数,通过调用函数来完成,函数调用。
I/O:读文件和写文件
阻塞式:必须按照顺序执行
Java和PHP:只要有客户端请求时,就会开一个线程,是通过开不同的线程对客户端做反馈。而事件驱动只是通过函数。
一个线程开的内存远比一个函数大得多,故此node.js轻量且高效。
Node.js的包管理器npm,是全球最大的开源库生态系统。
在vscode中运行js代码,需要安装一个插件Code Runner,在需要运行的js文件右键单击选择run code即可。
另外一种运行js文件方式,在cmd中进入当前文件所在文件夹,输入命令 node app.js
也可以缩写命令行为 node app ,即省略文件扩展名,因为node本来就是js文件。
二。一些命令和概念:
创建文件
var fs = require('fs');//文件
//1.写文件.如果文件不存在,会创建一个新文件
var res = fs.writeFileSync('./www/w1.txt','第一个文字','utf8');
console.log(res);
//返回undefined才会成功
同步函数:有先后顺序执行的一个函数
var fs = require('fs');//文件
//1.写文件.如果文件不存在,会创建一个新文件
console.log('111');
var res = fs.writeFileSync('./www/w1.txt','第一个文字','utf8');
console.log(res);
//返回undefined才会成功
console.log('222');
运行结果如下
111
undefined
222
异步写操作
//2.异步写(四个参数,多了回调函数)
console.log('111');
fs.writeFile('./www/ti.txt','1111111','utf8',function(err){
console.log(err);
//返回null才会成功
});
console.log('222');
运行结果
111
222
null
判断文件是否存在
//4.判断文件是否存在
//同步
// var res = fs.existsSync('./www/index.html');
// console.log(res);
// //异步
// fs.exists('./www/w1.txt',function(res){
// console.log(res);
// })
添加文件内容
//var res = fs.appendFileSync('./www/log.txt','\n 这是添加的内容'+ new Date(),'utf8');
fs.appendFile('./www/log.txt','\n 这是异步的数据'+ new Date(),function(err){
if(err){
console.log("添加失败");
throw err;
}
console.log("添加成功");
})