让前端飞Web前端之路

Node学习day01——认识node和简单读写文件

2019-07-13  本文已影响1人  顽皮的雪狐七七

目录

认识node

Node 是一个针对网络应用开发的平台,是利用 Google 的 JavaScript 运行时引擎 V8(可以解析和执行 JavaScript)打造的一个 JavaScript 在服务端的运行环境。

node是什么

应用场景

node语法使用

ES5、ES6

node核心模块

Node 把绝大多数的 API 都封装到了一个具名的核心模块中,每一个模块就是处理一系列功能的API集合,每个模块都有一个唯一表示名称进行暴露,我们使用的时候需要进行单独的加载。

例如文件操作的:fs,网络操作的 http 等,如果要使用,需要先加载模块。

//用户自定义变量名  = require('唯一的核心模块标识名称')
var fs = require("fs")

引入第三方模块

第三方模块由npm社区提供,我们在使用的时候:

1、使用npm下载指定的模块

npm install moment

2、通过require进行引用

var moment = require("moment")

3、查看第三方的API进行使用。

momentjs的官方文档

console.log(moment().format())
console.log(moment().format("YYYY-MM-DD HH:mm:ss"))
momentjs.png

用户自定义模块

Node 基于 CommonJS 模块规范实现了自己的一套 JavaScript 模块解决方案,其核心 API 为下面三个

环境安装

Node官网下载

下载 --> 下一步安装 --> 完成

验证

node -v
node --version
npm -v
npm --version
node-version.png

使用node执行的第一个脚本

1、创建一个helloworld的js文件

2、在js里面写一行代码

console.log("hello nodejs");

3、在本文件目录下执行

node helloworld.js
hellonodejs.png

使用node读写文件

使用node写入文件

//引入node的文件操作fs核心模块
var fs = require("fs")
//定义需要写入的字符串
var data = "hello nodejs"
//使用writeFile API,传入写入路径,需要写入的内容,接收回调返回错误信息
fs.writeFile("./data/hello.txt",data,function(err){
  //如果错误抛出错误,阻止下面代码执行,
  //这里使用throw抛出错误,原因是可能写入错误的原因能有很多种
  //可能是文件只读权限,可能是写入失败,throw可以确定文件写入失败的原因
  if(err){
    throw err
  }
  //如果成功执行下面代码
  console.log("write succeed!")
})
writeSucceed.png
checkFile.png

使用node读取文件

我们读取一下刚才我们写好的文件

//引入node的文件操作fs核心模块
var fs = require("fs")
//使用readFile API,传入读取路径,指定格式,接收回调
//第一个参数一定是err,第二个参数是读取的文件内容
fs.readFile("./data/hello.txt",'utf8',function(err,data){
  //如果有错误,抛出错误,阻止下面代码的执行,也可以使用return
  if(err){
    throw err
  }
  console.log(data)
})
readFile.png

如果不加第二个utf8这个参数,那么默认是加载16进制的Buffer对象。我们如果想要输出字符串,需要手动对返回的data进行转换,toString()的默认参数就是utf8。

//引入node的文件操作fs核心模块
var fs = require("fs")
//使用readFile API,传入读取路径,指定格式,接收回调
//第一个参数一定是err,第二个参数是读取的文件内容
fs.readFile("./data/hello.txt",function(err,data){
  //如果有错误,抛出错误,阻止下面代码的执行,也可以使用return
  if(err){
    throw err
  }
  console.log(data)
  console.log(data.toString())
  console.log(data.toString("utf8"))
})
image.png
上一篇 下一篇

猜你喜欢

热点阅读