深秋's Blog 当时明月在,曾照彩云归

node小记

By 深秋 On Renew
⚠️ 本文最后更新于2021年08月20日,已经过了1125天没有更新,若内容或图片失效,请留言反馈

走向node的一小步.......

node

node是js在服务器端的运行环境

node不能调用浏览器的Dom,Bom元素

node可以导入核心模块,自定义模块,第三方模块

#导入方法
const fs = require('fs')

#导入自定义模块
const calc = require('./calc.js')
#需在被导入的模块中添加暴露方法
modules.exprots = { calc }

#导入第三方模块 
const express = require('express')

npm

#npm环境配置 (文件夹名称不能是中文或者特殊字符)
npm init --yes

#npm环境配置 (文件夹名称不限制,可手动更改)
npm init 

#下载第三方包
npm install dayjs //本地路径下载
npm install -g nrm //全局下载

express

express是一个简洁,灵活的node.js的web应用开发框架,本身由一个路由和无数个中间件组成

#开启一个服务器的三条代码
const express = require('express')
const server = express()
server.listen(8001,()=>{})

#路由
server.get('/login',(req,res)=>{
     res.send('这是登录页面') //express集成了请求头,会自动识别
})

#中间件使用方法
const isok = function(req,res,next){ 
//前端发起请求到后端时,后端指向中间件,由中间件先对请求进行处理,处理完成后,若有其他的中间件,则会指向下一个,没有则指向后端处理
        next()
}

托管

在express中,内置了一个托管静态页面的功能,如下;

#导包
const express = require('express')
const server = express()

#开启托管
server.use('/',    express.static('文件夹名')) //前缀可选填,托管文件夹必须要与当前文件同级

#监听
server.listen(8001,()=>{
    console.log('端口已开启')
 })

由于项目开发过程中,接口也会配置的越来越多,所以传统的路由写法无法满足代码的优化,整洁,所以采用express所提供的路由中间件,将路由配置与路由调用分开

路由配置

#导包
const express = require('express')
//这个就是自带的路由方法
const Router = express.Router()

//之后所有的配置就在router上
Router.get('/login',(req,res)=>{
     res.send('这是登录页面')
})
Router.post('/index',(req,res)=>{
     res.send('这是首页')
})
#暴露路由函数
module.exports = Router

路由调用

#导包
const express = require('express')
const Router = require('./路由配置文件名')
const server =express()

#调用
server.use('/',Router)  //指定前缀,可填

#监听
server.listen(8001,()=>{
    console.log('端口已开启')
 })

CORS

开发中由于前后端分离,数据获取并非同源,所以跨域问题非常常见

而在express框架中,跨域的解决过于冗长,灵活性也不太够,所以借用cors包来解决跨域问题是极为方便的方式

#导包
const express = require('express')
const cors = require('cors')
const server = express()

#开启跨域
server.use(cors())