当前位置: 首页 > 后端技术 > Node.js

node框架express(4.15.5)中使用cors(2.8.5)库配置后端跨域

时间:2023-04-03 20:31:12 Node.js

下载corsnpminstallcorskeycodeconstcors=require('cors');app.use(cors());app.all('*',function(req,res,next){//域名白名单,不能写*,因为*是通配符,所有网站都可以访问//res.setHeader('Access-Control-Allow-Origin','*');//单独配置白名单,即可以访问的urlresacrossdomains.setHeader('Access-Control-Allow-Origin',['http://127.0.0.1:8000']);//...Headers必须有固定值,"content-type"res.setHeader('Access-Control-Allow-Headers','X-request-With,content-type');//res.setHeader("Access-Control-Allow-Headers","X-request-With");res.setHeader('Access-Control-Allow-Methods','GET,POST,DELETE,PUT,OPTIONS');//release/next();});完整代码constexpress=require('express');constpath=require('路径');constlogger=require('摩根');constcookieParser=require('cookie-parser');constbodyParser=require('body-parser');constcookieSession=require('cookie-session');constapiRoutes=require('./routes/api');constcors=require('cors');constapp=express();//查看eenginesetupapp.set('views',path.join(__dirname,'views'));app.set('viewengine','ejs');//将你的网站图标放在/publicapp.use(logger('dev'));app.use(bodyParser.json());app.use(bodyParser.urlencoded({extended:false}));app.use(cookieParser());app.use(cookieSession({name:'session',秘密:'sdfasd@d34sdf@',maxAge:24*60*60*1000*7,}));app.use(cors());app.use(express.static(path.join(__dirname,'public')));//相当于拼接路径app.use('/api',apiRoutes);//捕获404并转发到错误处理程序app.use(function(req,res,next){consterr=newError('NotFound');err.status=404;next(err);});app.all('*',function(req,res,next){//相当于域名白名单,不能写*,因为*是通配符,所有网站都可以访问//res.setHeader('Access-Control-Allow-Origin','*');//单独配置白名单,即可以访问的URL可以跨域访问res.setHeader('Access-Control-Allow-Origin',['http://127.0.0.1:8000']);//...Headers必须有一个固定值,“content-type”res.setHeader('Access-Control-Allow-Headers','X-request-With,content-type');//res.setHeader("Access-Control-Allow-Headers","X-request-With");res.setHeader('Access-Control-Allow-Methods','GET,POST,DELETE,PUT,OPTIONS');//放行/下一步不能省next();});//errorhandlerapp.use(function(err,req,res,next){//设置locals,只提供开发中的errorres.locals.message=err.message;res.locals.error=req.app.get('env')==='development'?err:{};//渲染错误页面res.status(err.status||500);res.render('error');});module.exports=app;