Node.js从入门到进阶

一、初识Node.js

1.基于Chrome V8引擎的JS运行环境

2.V8引擎:ChromeJS解析引擎,C++开发,单线程,可独立运行,开源

3.运行环境:1.类似虚拟机,提供JS在服务端运行的环境

2.JS工具库:扩展了JS的功能

二、环境安装

1.Node.js必须先安装再使用 -- 有很多版本

2.安装方式:1.下载包安装:添加到环境变量

版本更新:重新下载安装

2.NVM:多版本切换

3.查看是否安装成功:node -v --- 命令行

在目标文件夹:Shift+鼠标右键可以快速找到PowerShell

三、REPL环境

1.类似开发者工具中的console

2.进入REPL环境:打开命令行:node+回车

3.退出REPL环境:Ctrl+Cprocess.exit().exit

4.执行JS文件:node demo.jsnode demo(文件默认为JS)

四、全局作用域成员

1.global:全局环境,类似window

2.globalThisES6新增的全局对象,浏览器端指向window,服务端指向global

3.process:获取当前的node进程信息

4.consoleNode内置的控制台模块,类似客户端的console

5.Buffer:用于处理二进制数据

五、Babel

1.ES6转码器:将ES6转为ES5 -- 可以使用ES6编写程序,然后将代码转为ES5以适应老版本浏览器

2.安装:$ npm install --save-dev @babel/core

3.配置文件:.babelrc -- 项目根目录

{
  "presets": ["@babel/env"],  //转码规则
  "plugins": []  //插件
}

4.转码规则:官方提供,可通过npm安装

$ npm install --save-dev @babel/preset-env

5.命令行转码工具:$ npm install --save-dev @babel/cli

$ npx babel es6.js  -- 转码之后输出到控制台
$ npx babel es6.js -o es5.js - 将es6.js文件转码之后写入到es5.js
​
npx:npm5之后新增的功能,帮助调用局部安装的工具

Node.js核心优势

1.单线程

2.非阻塞式I/O -- 异步编程-》错误优先(回调函数的第一个参数是error)

模块化结构

1.使用CommonJS规范 -- 运行时加载,同步加载

2.Node.js模块分类:1.核心模块:平台自带

2.第三方模块:包

3.文件模块:自己开发的

3.Module对象:Node.js内部提供,所有的模块都是module的实例

4.导出:exportsmodule.exports

exports.name = val;
module.exports = {name:val}
​
注意:exports为module.exports别名,导出最终以module.exports为准

5.导入:require()

规则一:以./或../开头的路径以当前文件所在的文件夹开始寻找模块
require("./module.js");  //加载当前目录下的module.js模块
require("./module"); //省略扩展名则按js文件执行
规则二:以/开头则以系统根目录(当前文件所在的目录)开始寻找模块
require("/module/demo.js");  //加载当前文件所在目录根目录根据路径开始查找
规则三:不以./或../或/开头
1.以核心模块加载
require("http");
2.从当前目录开始依次向上查找node_modules目录
require("cal.js");
规则四:路径是一个文件夹
1.指向文件夹package.json中main字段指向的文件
require("./path")
2.不存在package.json或者没有main字段,指向index.js
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值