一、Nodejs概述
介绍
相关网址:
Node.js 是一个开源与跨平台的JavaScript 运行时环境。它是在浏览器外运行,它是一个事件驱动异步I/O单进程的服务端JS环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。它使用新的 ECMAScript 标准,不必等待所有用户更新其浏览器,可以通过更改其版本来决定要使用新的标准特性。
注意:
- 浏览器是JS的前端运行环境。
- Node.js是JS的后端运行环境,在后端中运行无法调用 DOM 和 BOM 等浏览器内置 API。
- nodejs调用服务查看服务器相关api gulpè基础node环境
- 创建应用服务
- web开发
- 接口开发
- 客户端应用工具 gulp webpack vue脚手架 react脚手架 小程序
模块化
NodeJs基于 Commonjs模块化开发的规范,它定义一个JS文件就称之为一个模块
node的模块类型
- 核心模块 - 安装nodejs自带的模块
- 第三方模块 - 需要手动通过(npm/yarn)来进行安装
- 自定义模块 - 开发者自己编写开发
导出 module.exports / exports
导入 require
安装Nodejs
nodejs环境安装非常便捷,直接可通过官网地址,下载对应的安装软件包即可安装使用。
注:尽量下载长期支持版本(LTS),如果在工作中有多个node环境的切换,可以安装ndoe环境管理工具NVM:https://github.com/coreybutler/nvm-windows/releases
nvm可以让你的电脑中有N多个node版本。
node12.18 è node8 A项目 B项目 node9 C项目 node10
Node快速开始
运行js文件
检查node是否安装成功
# 在cmd中运行node
node -v // 查看node版本
# 语法
node 文件
常用内置模块
os模块
os模块提供了与操作系统相关的实用方法和属性。
const os = require('os')
# 换行符
os.EOL 根据操作系统生成对应的换行符 window \r\n,linux下面 \n
# 查看cpu相关信息
os.cpus()
# 总内存大小 (单位 字节)
os.totalmem()
# 空余内存大小 (单位 字节)
os.freemem()
path模块
path模块用于处理文件和目录(文件夹)的路径
const path = require('path')
# 获取路径最后一部内容 一般用它来获取文件名称
path.basename('c:/a/b/c/d.html') // d.html
# 获取目录名,路径最后分隔符部分被忽略
path.dirname('c:/a/b/c/d.html') // c:/a/b/c
# 获取路径中文件扩展名
path.extname('c:/a/b/c/d.html') // .html
# 给定的路径连接在一起
path.join('/a', 'b', 'c') // /a/b/c
url模块
URL字符串是结构化的字符串,包含多个含义不同的组成部分。 解析字符串后返回的 URL 对象,每个属性对应字符串的各个组成部分。
const url = require('url');
const href = 'http://www.xxx.com:8080/pathname?id=100#bbb'
// 解析网址,返回Url对象
// 参2 如果为true 则 query获取得到的为对象形式
url.parse(href,true)
querystring模块
用于解析和格式化 URL 查询字符串的实用工具
const querystring = require('querystring')
# query字符串转为对象
querystring.parse('foo=bar&abc=xyz')
# 对象转为query字符串
querystring.stringify({ foo: 'bar',abc: 'xyz'})