node入门

node是什么?
就是一个JS的运行环境,和浏览器一样,都是一个runtime,基于V8引擎的。

我们学习node的目的:
1)了解后端 不是让我们做后端
2)后面学习webpack,vue或react脚手架,也会用到node的知识
3)前端中的很多工具也是基于node开发的

安装node:
傻瓜式安装 安装完node,自带node命令

测试node是否OK:
window + r 输入cmd node -v

运行node代码:
1)在vscode上安装一个插件 code runner
2)webstrom / idea 直接运行JS代码
2)通过node命令去运行 node server.js

三类模块:
1)系统模块 核心模块 node中自带的模块 http
2)第三方模块 大神写的模块 我们直接使用
3)自定义模块 我们自己写的模块

利用http模块创建一台服务器:
// 引入一个核心模块http
let http = require(“http”);
// 创建一台服务器
let server = http.createServer();
// 注册一个请求事件
server.on(“request”,(req,res)=>{
// 解决乱码 不需要记
res.writeHead(200,{“content-type”:“text/html; charset=utf-8”})
// 给客户端响应数据
res.write(“

hello 你好 客户端~

”)
// 结束响应
res.end();
})
// 监听一个商品,只要是一个服务,就要监听一个端口
server.listen(3030,()=>{
console.log(“server is running on 3030~”)
})

第三方模块之nodemon:
此模块,可以在我们修改代码后,自动帮我们重启服务器。
之前是可以通过node server.js
现在是通过nodemon server.js

核心模块之fs模块:
fs:filesystem 文件系统 操作文件或目录

核心模块之path模块:
处理路由的 基本上,用Node写服务器,都会用到此模块。

下载安装第三方模块:
npm npm是一个下载器 当我们安装了node 自带了下载器
要下载第三方,默认是国外下载,配置让去国内下载,nrm

nrm可以换源:
    安装nrm  npm i nrm -g    只要-g,就可以使用nrm这个命令
    nrm use taobao  换成国内源  下载速度会快一点
    nrm ls  查看都有哪些源

初始化项目:
npm init -y 初始化项目 生会一个配置文件,叫package.json文件
此文件会对项目进行描述,主要的用来记录我们项目的依赖

生成的配置文件如下:
{
“name”: “nodeCode”, // 项目的名字
“version”: “1.0.0”, // 项目的版本
“description”: “”, // 项目的描述
“main”: “01-hello node.js”, // 项目的入口
“scripts”: {
“test”: “echo “Error: no test specified” && exit 1” // 配置一些命令
},
“keywords”: [], // 项目的关键字
“author”: “”, // 项目的作者
“license”: “ISC” // 项目遵循的协议
}


第三方模块express模块:
npm i express
使用:
let express = require(“express”)
let app = express();
app.get("/",(req,res)=>{
res.send(“hello 客户端~”)
})
app.listen(3333,()=>{
console.log(“server is running on 3333”)
})


上网的本质:
客户端请求服务器,服务器给出响应式,不是一次请求和一次响应,是N次请求和N次响应。
先有请求,后有响应。 请求,我们叫HTTP请求,响应我们叫HTTP响应。

HTTP:
HyperText Transform Pxxx 超文本传输协议
指客户端与服务器之前通信(服务器给客户端一些数据,客户端给服务器一些数据)的规则。

HTTP请求:
    ....
HTTP响应:
    ....

路由:
app.get("/",(req,res)=>{ // 一个地址,对应了一个响应
res.send(“hello 客户端~”)
})

托管静态资源:
我们写的html,css,js,img都是静态资源,在express中可以通过一行代码来托管静态资源。

模板:
你现在就把HTML文件当成一个模块。一般情况下,模板是放在views目录下面的。

渲染模板:res.render()

安装ejs: npm i ejs

我们向服务器发一个请求,核心有两种请求方式:
1)get请求 偏向于向服务器要数据 当然也可以把数据给服务器
A)浏览器的地址栏就可以发起get请求
B)a标签的href也可以发起get请求
C)link标签的href也可以发起get请求
D)script 标签的 src也可以发起get请求
E)img标签的src也可以发起get请求
F)form表示也可以发起Get表示

特点:
1)会数据放到地址栏中 不太安全
2)post请求 偏向于把数据扔给服务器

利用form表示发起get请求:
1)action表示此请求地址
2)method请求的方式
3)表单中的input必须要有一个name属性


  • 用户名:

  • 密码:



获取post请求携带的数据:
1)安装 body-parser
2)配置 代码直接copy
3)req.body就可以获取post请求的携带的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值