node.js进阶一(node入门,node的文件操作功能)

node是什么?(node中文官网

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。(其他的可以看官网解说)

安装node

这里不做多讲了

编写第一个node程序

下面代码为node1.js

//node1.js
//在终端或者cmd中cd到当前目录 然后实行命令:node node.js

const str = 'Hello Node.js';
console.log(str);

然后便能在终端中看到打印了Hello Node.js

node进行进行文件操作

我们知道javascript是没有文件操作的功能的,但是node.js有文件操作能力。所以,小项目的时候node可以作为后端语言。在前端行走很多时候都有往全栈方向发展的,那么node对我们来说就是一个很好学到后端语言了。

在 Node 中如果想要进行文件操作,就必须引入 fs 这个核心模块,fs 是 file-system 的简写,就是文件系统的意思。

node读取文件readFile

下面代码为node2.js文件

//在终端或者cmd输入命令 node node2.js

注意:jsonData.json是我自己写的一个数据,你们也可以自己写一个测试。


// 1. 使用 require 方法加载 fs 核心模块
var fs = require('fs')

// 2. 读取文件 fs.readFile(path,callBack)
//    第一个参数就是要读取的文件路径:path
//    第二个参数是一个回调函数:callBack
//        成功
//            data 数据
//            err
or null
//        失败
//            data undefined没有数据
//            error 错误对象

fs.readFile('./jsonData.json',function(error,data){
	// 文件中存储的其实都是二进制数据 0 1
    // 这里为什么看到的不是 0 和 1 呢?原因是二进制转为 16 进制了
    // 但是无论是二进制01还是16进制,人类都不认识
    // 所以我们可以通过 toString 方法把其转为我们能认识的字符
    if(error){
    	return console.log(error);
    }
	console.log(data.toString());
});

node 写入数据writeFile

作为后端语言,那么肯定是需要对数据库进行操作的,但是有时候如果只是一些小的数据存储的话还用不到数据库的设计,比如便签,记录用户访问等等。我们可以用node对json文件做数据存储(下面干货)

jsonData.js

{
  "data":[
    {
      "id":1,
      "name":"Jun"
    }
  ]
}

node3.js

//fs.writeFile(path,content,callBack)
// 第一个参数:文件路径(path)
// 第二个参数:文件内容(content)
// 第三个参数:回调函数(callBack)  
//    成功:
//        文件写入成功
//        error 是 null
//    失败:
//        文件写入失败
//        error 就是错误对象

var fs = require('fs');
var params = {
    "id":2,
    "name":"Tony"
}


//写入json文件选项
function writeJson(params){
  //现将json文件读出来
  fs.readFile('./jsonData.json',function(err,data){
    if(err){
      return console.error('读取文件失败:' + err);
    }
    else{
      var person = data.toString();//将二进制的数据转换为字符串
	  person = JSON.parse(person);//将字符串转换为json对象
	  person.data.push(params);//将传来的对象push进数组对象中
	  person.total = person.data.length;//定义一下总条数,为以后的分页打基础
	  console.log('数据长度:' + person.total);
	  // console.log(person.data);
	  var str = JSON.stringify(person);
	     // 写入核心模块
	     fs.writeFile('./jsonData.json',str,function(err){
	        if(err){
	          console.error('写入失败:'+err);
	        }
	        else{
	          console.log('----------写入成功-------------');
	        }
	     })
      }
  })
}
writeJson(params)//执行一下;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值