背景:
2018-04-11写道
由于前端在加载非本域名的图片或其他文件资源,会报跨域问题,基于这个问题出发点,想到nodejs koa框架做静态资源转发功能。
跨域报错如下:
1597:1 Access to Image at 'https://xxx.com/static/image/9985@bg.jpeg?' from origin 'https://xxx.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://xxx.com' is therefore not allowed access.
实战:
按照必须的依赖包:主要是request module:
$ npm i -D koa koa-router request
那我们就做一个转发服务器吧:
/** * Created by happy on 4/10/18. */ var Koa = require('koa'); var Router = require('koa-router'); var request = require('request'); var app = new Koa(); var router = new Router(); var port = 7788; router.get('/', (ctx, next) => { ctx.body = 'hello'; }); // 这里是愉快的做静态资源转发 router.get('/static', (ctx, next) => { ctx.body = request.get(ctx.url.replace('/image?', '')); }); app .use(router.routes()) .use(router.allowedMethods()) .listen(port, () => console.log(`✅ The server is running at http://localhost:${port}`)); // 访问:localhost:7788/static?xxx跨域服务器资源
总结:
本来准备使用fetch获取文件流,奈何看了官网所有API尝试皆以失败告知,故使用request获取文件流。
相关推荐
koa-graphql, 使用Koa创建 GraphQL HTTP服务器 GraphQL Koa中间件 创建一个带有Koa的GraphQL HTTP服务器。来自 express graphql的端口安装npm install --save koa-graphql用法
基于KOA的简易图片上传服务器.zip
### 安装协议解析 跨域处理中间件 koa-body处理post请求数据,也提供了文件上传功能。 @koa/cors解决跨域问题
本项目是基于koa2框架实现的API网关,使用koa2框架的中间件机制提供插件功能。通过使用微信公众号、服务注册&发现、反向代理等等插件的组合,来有效解决来自不同客户端和服务器请求的统一接入、分发、监控等问题
本篇文章主要介绍了客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解,具有一定的参考价值,有兴趣的可以了解一下
实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。 本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明(深层次的配置我也不会)。 CORS将请求分为简单请求和非简单...
确保node npm 都已安装,直接在工程目录下npm start即可,网页访问http://localhost:3000/test/test可看收到的json 推荐jsonview插件
利用koa2 静态资源服务器为后端, html + js+css 为前端, 实现文件的上传下载功能, 适合新手,
一本介绍web开发框架koa的书,Node.js诞生于2009年,到本书出版时已经有近10个年头。它扩充了JavaScript的应用范围,使JavaScript也能像其他语言一样操作各种系统资源,因此,前端工程化开发的大量工具都开始运行在...
为 vue-admin 后台系统搭配的 koa2+mongodb 服务器系统.zip
介绍koa是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架使用 koa 编写 web 应用,可以免除重复繁琐的回调函数
这是一个基于Koa2的轻量级RESTful API Server脚手架,支持ES6
一本介绍web开发框架koa的书,Node.js诞生于2009年,到本书出版时已经有近10个年头。它扩充了JavaScript的应用范围,使JavaScript也能像其他语言一样操作各种系统资源,因此,前端工程化开发的大量工具都开始运行在...
技术-胖Koa+Node商城实战
完整的Koa2服务器样板包括es6, REST示例,静态示例
15.2_最佳实践|课程总结|Node.js-Koa2框架从零开发仿新浪微博项目实战
一本介绍web开发框架koa的书,Node.js诞生于2009年,到本书出版时已经有近10个年头。它扩充了JavaScript的应用范围,使JavaScript也能像其他语言一样操作各种系统资源,因此,前端工程化开发的大量工具都开始运行在...
Koa与Node.js开发实战(完整版),是完整版,自己亲测,191M,不是从第六章开始的