what
- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
- Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
- Node.js 的包管理器 npm,是全球最大的开源库生态系统。
什么是I/Oinput输入流 output输出流 正常下I/O的操作都是阻塞的(ajax同步)例:网络请求 数据库处理 文件的读写
优点
- 高并发特别好
- 不需要依赖第三方软件,可以基于API自己实现
- 实现静态资源服务器
- 路由处理
- 动态网站
- 模版引擎
- get和post参数传参处理
why
- 防止甩锅,明确数据交互的错误问题在谁
- 能够书写api
- 了解前后端交互流程
- 全栈工程师
npm的常用命令
//1.初始化包npm inityarn init//2.安装包npm install xxx --saveyarn add xxx//3.移除包npm uninstall xxxyarn remove xxx//4.更新包npm update xxxyarn upgrade xxx//5.安装开发依赖的包npm install xxx --save-devyarn add xxx --dev//6.全局安装npm install -g xxxyarn global add xxx//7.--save 生产环境--save-dev 开发环境//8.设置下载镜像的地址npm config set registry urlyarn config set registry url//9.执行包npm runyarn run
模块/包与CommonJS
Node.js模块 基于CommonJS规范
- 内置的 Node.js 模块
- 第三方的 Node.js 模块
-
express
托管静态文件
- 可以指定虚拟目录
- 可以指定多个目录作为静态资源目录
- 实现静态资源服务 ```javascript const express = require(‘express’); const app = express();
let server = app.use(‘/abc’,express.static(‘public’)); //use方法的第一个参数可以指定一个虚拟路径 app.use(‘/nihao’,express.static(‘hello’)); server.listen(3000,() => { console.log(‘running…’); })
**express基本使用**- 中间件- 中间件(Middleware)就是一个函数,它可以访问请求对象(req),响应对象(res)和web应用中处于请求 - 响应循环流程中的中间件,一般被命名为next的变量。- 参数处理- 模版引擎整合<a name="rN18W"></a>## 路由根据请求路径和请求方式进行路径分发处理<br />http的常用请求方式:post(添加),get(查询),put(更新),delete(删除)```javascriptconst express = require('express');const app = express();//直接使用use分发可以处理所有的请求app.use((req,res) =>{console.log('ok');});app.listen(3000,() =>{console.log('running...');});
const express = require('express');const app = express();//基本的路由处理app.get('/',(req,res) =>function(){res.send('get data');});app.post('/',(req,res) =>function(){res.send('post data');});app.put('/',(req,res) =>{res.send('put data');});app.delete('/',(req,res) =>{res.send('delete data');});app.listen(3000,() =>{console.log('running...');});
