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

目录

  • 认识node
    • node是什么
    • 应用场景
    • node语法使用
      • ES五、ES6
      • node核心模块
      • 引入第三方模块
      • 用户自定义模块
    • 环境安装
    • 使用node执行的第一个脚本
    • 使用node读写文件
      • 使用node写入文件
      • 使用node读取文件

认识node

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

node是什么

  • Node 不是一门语言。Node 是一个构建于 Chrome JavaScript V8 解析引擎之上的一个 JavaScript 运行时(环境)。
  • Node 能够解析和执行 JavaScript 代码
    • Ecmascript,基本的 JavaScript 语法及 API
    • 没有 window、document 之类的DOM、BOM元素
    • Node 相似于浏览器,是一个解析执行 js 环境,虽然不处理 UI,可是在该平台中为 js 提供了一系列的编程接口
  • Node 使用事件驱动和非阻塞IO模型使得它很是的轻量和高效
  • npm 不单单能够用来下载 node,还能够用来方便管理和维护第三方包的相关的一些资源包,也能够用来下载浏览器环境相关的一些资源包(Ployfill,Hack)

应用场景

  • 网站服务器
  • 网络爬虫
  • JSON API
  • 网络游戏服务器
  • 命令行工具

node语法使用

ES五、ES6

node核心模块

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

例如文件操做的:fs,网络操做的 http 等,若是要使用,须要先加载模块。编程

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

引入第三方模块

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

一、使用npm下载指定的模块bash

npm install moment
复制代码

二、经过require进行引用服务器

var moment = require("moment")
复制代码

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

momentjs的官方文档工具

console.log(moment().format())
console.log(moment().format("YYYY-MM-DD HH:mm:ss"))
复制代码

momentjs.png

用户自定义模块

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

  • require
  • module
  • exports

环境安装

Node官网下载ui

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

验证

node -v
node --version
npm -v
npm --version
复制代码

node-version.png

使用node执行的第一个脚本

一、建立一个helloworld的js文件

二、在js里面写一行代码

console.log("hello nodejs");
复制代码

三、在本文件目录下执行

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
相关文章
相关标签/搜索