node.js基础快速指南

目录

node环境说明

express学习

安装nodemon

express中的路由

中间件

错误级别的中间件

CORS跨域资源共享


node环境说明

在node.js环境中是没有window的,所以window对象自然是未定义的

在node.js环境中全局对象为global,在global对象中会存在一些和window对象中名字相同且作用相同的地方

global.console.log
global.setInterval
global.clearInterval
global.setTimeout
global.clearTimeout
global.setImmediate

在node.js环境中声明的变量不会被添加到全局对象中,变量声明后只能在当前文件中使用

创建最基本的web服务器

1.导入http模块

const http = require('http');

2.创建web服务器实例

const server = http.createServer();

3.为服务器实例绑定request事件

//使用服务器实例的.on()方法,为服务器绑定一个request事件
server.on('request',(req,res)=>{
    //只要有客户端来请求我们自己的服务器,就会触发request事件,从而调用这个事件处理函数
    console.log('Someone visit our web server.');
    
    //调用res.end()方法,向客户端响应一些内容
    res.end(str);
})

4.启动服务器

server.listen(80,()=>{
    console.log('http server runnning at xxx');
})

根据不同的url响应不同的html内容

const http = require('http');
const server = http.createServer();
​
server.on('require',(req,res)=>{
    //1.获取请求的url地址
    const url = req.url;
    //2.设置默认的响应内容
    let content = '404 is not found'
    //3.判断用户的请求是否为/或/index.html首页
    if(url === '/' || url === '/index.html'){
        content = '<h1>首页</h1>'
    }else if(url === '/about.html'){
        content = '<h1>关于页面</h1>'
    }
    //5.设置Content-Type响应头,防止中文乱码
    res.setHeader('Content-Type','text/html; charset=utf-8')
    //6.把内容响应给客户端
    res.end(content)
})
​
server.listen(80,()=>{
    console.log('server running at xxx');
})

express学习

express是基于Node.js平台的一个web开发框架

安装

npm i express@4.17.1

创建基本的web服务器

//1.导入express
const express = require('express')
//2.创建web服务器
const app = express()
//3.启动web服务器
app.listen(80,()=>{
    console.log('express server running at xxx')
})

监听GET请求

app.get('请求url',function(req,res){处理函数})

监听POST请求

app.post('请求url',function(req,res){处理函数})

把内容响应给客户端

app.get('/user',(req,res)=>{
    //调用express提供的res.send()方法,向客户端响应一个JSON对象
    res.send({'name':'df','age':12})
    //或
    res.send('请求成功')
})

托管静态资源

其实就是把源代码呈现在网页上,供大家可以查看网页源代码

app.use('/abc',express.static('./files'))

安装nodemon

方便每次更新代码之后可以自动更新服务器

npm i -g nodemon

启动项目

nodemon index.js

express中的路由

基本使用

const express = require('express')
//创建web服务器app
const app = express()
​
//挂载路由
app.get('/',(req,res)=>{
    res.send('xxx')
})
app.post('/',(req,res)=>{
    res.send('xxx')
})
​
//启动web服务器
app.listen(80,()=>{
    console.log('affafnakfhu')
})

路由模块化

创建文件router.js

//1.导入express
require('express')
​
//2.创建路由对象
const router = express.Router()
​
//3.挂载具体的路由
router.get('/user/list',(req,res)=>{
    res.send('xxx')
})
router.post('/user/add',(req,res)=>{
    res.send('xxx')
})
​
//4.导出路由模块
module.exports = router

注册路由模块

在index.js内注册路由模块

const router = require('./router.js')
app.use(router)

注意:app.use()函数的作用,就是用来注册全局中间件

中间件

有输入输出

express中间件的调用流程

当一个请求到达express的服务器之后,可以连续调用多个中间件,从而对这次请求进行预处理

express中间件的格式

//常量mw所指向的,就是一个中间件函数
const mw = function(req,res,next){
    console.log('中间件函数')
    //注意:在当前中间件的业务处理完毕之后,必须调用next()函数
    //表示把流转关系转交给下一个中间件或路由
    next()
}
​
//把mw注册为全局生效的中间件
app.use(mw)

简化版写法

app.use((req,res,next)=>{
    console.log('中间件函数')
    next()
})

多个中间件之间,共享同一份req和res。

比如获取到请求到达服务器的时间,可以放在中间件里共享,或者供下游的中间件或路由使用

错误级别的中间件

定义错误级别的中间件,捕获整个项目大的异常错误,从而防止程序的崩溃

只有错误级别的中间件是放在所有路由之后的

app.use((err,req,res,next)=>{
    console.log('发生了错误'+err.message)
    res.send('Error'+err.message)
})

适应cors中间件解决跨域问题

cors是express的一个第三方中间件。通过安装和配置cors中间件,可以很方便地解决跨域问题。

使用步骤分为如下3步:

1.安装中间件

npm install cors

2.导入中间件

const cors = require('cors')

3.配置中间件

app.use(cors())

CORS跨域资源共享

如果指定了Access-Control-Allow-Origin字段的值为通配符*,表示允许来自任何域的请求:

res.setHeader('Access-Control-Allow-Origin','*')

允许所有的HTTP请求方法

res.setHeader('Access-Control-Allow-Methods','*')

实现JSONP接口

必须在配置cors中间件之前,配置JSONP的接口

app.get('/api/jsonp',(req,res)=>{
    //1.得到函数的名字
    const funcName = req.query.callback
    //2.定义要发送到客户端的数据对象
    const data = {name:'zs',age:18}
    //3.拼接出一个函数的调用
    const scriptStr = `${funcName}(${JSON.stringify(data)})`
    //4.把拼接的字符串,响应给客户端
    res.send(scriptStr)
})

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值