Node.js相关介绍

Node.js相关介绍

  • 前言
  • 一、Node是什么
  • 二、Node的组成
    • 三、基础语法及运行
  • 四、Node.js全局对象
  • 五、NPM
    • npm命令
    • 淘宝镜像
  • 六、系统模块
    • 1、文件操作

前言

2021年1月20日,初遇Node.js,有感而发,写出如此文章,若有错误敬请指正。

一、Node是什么

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

二、Node的组成

  • JavaScript由三部分组成:ECMAScript、Bom、Dom
  • node.js是由ECMAscript及node环境提供的一些附加API组成的、包括文件、网络、路径等等一些更强大的API

三、基础语法及运行

  1. 创建后缀名为.js的文件

  2. 编写如下代码

    let arr = [1,2,3,4]
    console.log(arr)
    
  3. 找到文件位置,打开powershell窗口或cmd窗口

  4. 在命令行中输入下代码

    node hello.js
    

    就可以看到代码执行了

    Node.js相关介绍_第1张图片

如此我们可以的到如下总结

  1. node文件的后缀名都是.js
  2. 以往的学习中,都是把js放到html中才可以执行,但node不同,node是服务器技术,所以不存在Dom、Bom,所以运行方式会不一样
  3. 运行node的方式是使用node命令加上文件的名称
  4. 除了在命令行中运行node,还可以在开发工具的终端中运行,如vs Code

四、Node.js全局对象

在浏览器JavaScript中,通常window是全局对象,而Node.js中的全局对象是global,所有全局变量都是global对象的属性

Node.js中全局对象有以下方法,可以在任何地方使用,global可以省略

  • console.log() 控制台输出
  • setTimeout() 设置超时定时器
  • clearTimeout() 清除超时时定时器
  • setInterval() 设置间歇定时器
  • clearInterval() 清除间歇定时器

新建global.js文件,编写如下代码

global.setInterval(()=>{
     
    console.log('全局变量')
},1000)

可以发现代码正常运行,证明这些API确实是global的属性

五、NPM

简单介绍了Node.js那接下来就要来介绍npm了,npm是随同node.js一起安装的包管理工具,能解决node.js代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

当安装node.js成功后,可以通过nmp -v来查看是否安装成功,显示版本号就代表安装成功了。

npm命令

安装模块

语法

npm install 

全局安装

没有指定全局安装时,默认的是本地安装,若要全局安装加上-g即可

npm install mysql -g

默认安装到路径

C:\Users\a\AppData\Roaming\npm\node_modules

卸载模块

语法

npm uninstall 

卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:

npm ls

更新模块

npm update 

搜索模块

npm search 

淘宝镜像

在国内通过npm的官方镜像下载是很慢的,所以在这里我推荐大家使用淘宝的NPM镜像。

淘宝的频率目前为10分钟更新一次以保证尽量与官方服务区同步

npm install -g cnpm --registry=https://registry.npm.taobao.org

当然要记住安装成功后就需要使用cnpm来安装模块了

cnpm install 

六、系统模块

既然讲完了npm,那么下面我们就使用它来安装一个模块吧

1、文件操作

读取文件

同步读取

var fs = require('fs')
var res = fs.readFileSync('./01.txt','utf8')
console.log(res)

异步读取

var fs = require('fs')
fs.readfile('./01.txt','utf8',(err,data)=>{
     
    console.log(err)
    console.log(data)
})

分析:

  • 系统模块的引入使用require来引入
  • 模块名称需要用引号包裹
  • readFile是一个异步方法,所以需要用回调函数接收接取的结果
  • 回调函数中,err获取的是读取中的错误信息,如果过程中没有出现错误,则结果为null,反之是false。data为读取的文件内容。

所以一般在处理读取的文件之前,先判断err的值

const fs =require('fs')
fs.readFile('./01.txt','utf8',(err,data)=>{
     
    if(err) throw err  //如果err为false,就抛出错误信息
    console.log(data)
})

写入文件

语法:

fs.writeFile(file,data,callback)

案例:

const fs = require('fs')
fs.writeFile('./01.txt','波动拳',err=>{
     
    if(err) throw err
    console.log('ko')
})
								待
								更
								新
								。
								。
								。
								。
								。
								。

你可能感兴趣的:(node,node.js,npm,javascript)