Node——01——初始Node.js及node执行js,读文件写文件等操作

文章目录

  • 一:了解Node.js
  • 二:预备知识
  • 三:安装Node环境
  • 四:如何通过Node解析执行js文件,脱离浏览器运行js
    • 第一种方法:
    • 第二种方法:
  • 五:浏览器和node运行js的区别
  • 六:读文件操作:
      • 简单的错误处理
  • 七:写文件操作
      • 错误处理

一:了解Node.js

1.学习node.js让我们对服务端更了解,更好交互
2.Node.js不是一门语言,不是库,不是框架,是一个JavaScript运行时的环境,简单点来说就是Node.js可以解析和执行JavaScript代码,以前只有浏览器可以解析执行JavaScript代码,现在JavaScript可以完全脱离浏览器来运行,一切都归功于Node.js
3.浏览器中JavaScript由以下部分组成
3.1.EcmaScript
  基本语法
  if
  var
  function
  Object
  Array
3.2.BOM
3.3.DOM
而Node.js中的JavaScript没有BOM,DOM,只有EcmaScript,在Node这个JavaScript执行环境中为JavaScript提供了一些服务器级别的操作API,例如文件读写,网络服务的构建,网络通信,http服务器
4.Node.js的特性
  4.1事件驱动
  4.2非阻塞IO,模型(异步)
 4.3轻量和高效
5.npm是世界上最大的开源库生态系统,绝大多数JavaScript相关的包都存放在了npm上,这样做的目的是为了让开发人员更方便的区下载
6.构建于Chrome的V8引擎之上
  6.1代码只是具有特定格式的字符串而已
  6.2引擎可以认识它,引擎可以帮你去解析和执行
  6.3Google Chrome的V8引擎是目前公认的解析执行JavaScript代码最快的
  6.4Node.js的作者把Google Chrome中的V8引擎移植了出来,开发了一个独立的Javascript运行时环境。
7.Node.js能做什么(Web服务器后台,命令行工具比如npm(node),git(C语言),hexo(node),对于前端开发工程师来讲,接触node最多的是它的命令行工具,自己写的很少,主要是使用别人第三发的 webpack,gulp,npm)
8.学习Node不仅会帮助大家打开服务端黑盒子,同时会帮助你学习以后的前端高级内容(Vue.js,React,angular)
9.在node中,只能通过require方法来加载执行多个js脚本文件
10.require加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染的问题
11.模块作用域固然带来了一些好处,可以加载执行多个文件,可以完全避免变量命名冲突污染的问题,但是某些情况下,模块与模块是需要进行通信的,在每个模块中,都提供了一个对象:‘exports‘,该对象默认是一个空对象,你要做的就是把需要被外部访问使用的成员手动的挂载到’exports‘接口对象中,然后谁来’require‘这个模块,谁就可以得到模块内部的‘exports’接口对象,还有其他的一些规则 。所有核心模块在使用的时候都必须手动的先使用‘require’方法来加载,然后才可以使用 例如var fs=require('fs')

二:预备知识

1.HTML
2.CSS
3.JavaScript
4.简单的命令行操作
  4.1 cd
  4.2 dir
  4.3 ls
  4.4 mkdir
  4.5 rm

三:安装Node环境

1.先去官网下载https://nodejs.org/en/download/
2.如果已经安装过,重新安装会对之前的进行覆盖,升级
3.安装后要确认Node环境是否安装成功
,打开命令行cmd,输入node --version, 如果能看到版本号,则说明成功
在这里插入图片描述

四:如何通过Node解析执行js文件,脱离浏览器运行js

第一种方法:

1.创建编写JavaScript脚本文件
我创建了一个名字是1.js的js文件
Node——01——初始Node.js及node执行js,读文件写文件等操作_第1张图片
2.打开终端,定位到脚本文件所属目录
3.输入node+空格+文件名执行对应的文件
注意:文件名不要使用node来命名,最好也不要使用中文

操作如下:
如图:找到js所在文件夹,shift+鼠标右键,会出现一个在此处打开Powershell窗口
Node——01——初始Node.js及node执行js,读文件写文件等操作_第2张图片
输入node+空格+文件名
Node——01——初始Node.js及node执行js,读文件写文件等操作_第3张图片

第二种方法:

1.在vs code里安装插件terminal
2.在要执行的js文件中,右键选择open in Integrated Terminal
Node——01——初始Node.js及node执行js,读文件写文件等操作_第4张图片3.终端再输入node+空格+文件名
Node——01——初始Node.js及node执行js,读文件写文件等操作_第5张图片

五:浏览器和node运行js的区别

1.Node中的JavaScript没有dom,bom操作
2.浏览器中的JavaScript是没有文件操作的能力的,但是Node中的JavaScript具有文件操作的能力
 2.2在Node中如果想要进行文件操作,就必须引入fs这个核心模块
 2.3在fs这个核心模块中,就提供了所有的文件操作相关的API
 例如:fs.readFile就是用来读取文件的

六:读文件操作:

1.使用require方法加载fs核心模块var fs=require('fs')
2.读取文件fs.readFile('') 第一个参数是要读取的文件路径,第二个参数是一个回调函数
error:如果读取失败,error就是错误对象,如果读取成功,error就是null.
data:如果读取成功,data就是读取到的数据,如果读取失败,error就是错误对象Node——01——初始Node.js及node执行js,读文件写文件等操作_第6张图片

  
Node——01——初始Node.js及node执行js,读文件写文件等操作_第7张图片
1.js

var fs=require('fs');
fs.readFile('./data/data.txt',function(error,data){
    console.log(data);
    console.log(data.toString());
    });



data.txt

hello node.js

简单的错误处理

var fs=require('fs');
fs.readFile('./data/data.txt',function(error,data){
if(error){//这里可以通过判断error来确认是否有错误发生
    console.log('读取文件失败了');
}else{
    console.log(data.toString());
    
}
    });

文件中存储的其实都是二进制数据 0 1
这里看不到0和1,是因为二进制转为16进制,这里我们可以通过toString方法把其转为我们能认识的字符

Node——01——初始Node.js及node执行js,读文件写文件等操作_第8张图片

七:写文件操作

**第一个参数:要写的文件路径
第二个参数:文件内容
第三个参数:回调函数
成功:文件写入成功,error是null
失败:文件写入失败,error就是错误对象 **
Node——01——初始Node.js及node执行js,读文件写文件等操作_第9张图片注意:这里的hello.txt本来是不存在的,写入文件自己创建的

var fs=require('fs');
fs.writeFile('./data/hello.txt','hello,world',function(error){
  console.log('文件写入成功');
  console.log(error);
    });

错误处理

var fs=require('fs');
fs.writeFile('./data/hello.txt','hello,world',function(error){
  if(error){
      console.log('文件写入失败');
  }else{
      console.log('文件写入成功');
      
  }
    });

你可能感兴趣的:(Node.js)