问题

npm start之后,自己会启动一个端口,比如3000,调用后端服务(比如localhsot:3006/service/list)就会出现跨域,那怎么弄呢?

方式一: webpack设置proxy

proxy: {
// 一旦devServer接受到 /api/xx 服务,会把服务转发到另一个服务器
'/service': {
target: 'http://localhost:3006',
changeOrigin: true,
// 发送请求时,请求路径重写,将/api/xx -> /xx
// patchRewrite: {
// '^/service': ''
// }
},
}

方式二:后端mock服务并允许跨域

const Koa = require('koa');
const app = new Koa();
app.listen(3006); // 允许跨域,mock本地接口
// var cors = require('koa2-cors');
// app.use(cors({
// origin: function (ctx) {
// return '*' // 允许来自所有域名请求
// // return 'http://localhost:8080'; / 这样就能只允许 http://localhost:8080 这个域名的请求了
// },
// exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
// maxAge: 5,
// credentials: true,
// allowMethods: ['GET', 'POST', 'DELETE', 'OPTIONS', 'PUT'],
// allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
// })); //路由处理
const router = require('koa-router')();
app.use(router.routes());
const fs = require('fs'); // ------------------- get请求区 -------------------------------
router.get('/', async (ctx, next) => {
ctx.response.body = '666';
}); router.get('/service/list', async (ctx, next) => {
let data = fs.readFileSync('jsons/list.json');
ctx.response.body = data.toString();
}); // ------------------- post请求区 -------------------------------
router.post('/signin', async (ctx, next) => {
let data = fs.readFileSync('jsons/signin.json');
ctx.response.body = data.toString();
});

list.json文件随便写:

[
{
"name": "唐三",
"age": 20
},
{
"name": "马宏俊",
"age": 20
},
{
"name": "小舞",
"age": 18
}
]

启动服务后,随便修改list.json就可以快速mock后端接口了: localhost:3006/service/list

nodemon koa

js开发环境如何解决跨域问题的更多相关文章

  1. vue2.0开发环境下解决跨域问题

    1.找到vue 项目下的配置文件 /config/index.js 2.找到 proxyTable 配置项 proxyTable: { '/api': { target: 'http://www.xx ...

  2. js中ajax如何解决跨域请求

    js中ajax如何解决跨域请求,在讲这个问题之前先解释几个名词 1.跨域请求 所有的浏览器都是同源策略,这个策略能保证页面脚本资源和cookie安全 ,浏览器隔离了来自不同源的请求,防上跨域不安全的操 ...

  3. Vue---vue-cli 中的proxyTable解决开发环境中的跨域问题

    使用vue+vue-cli+axios+element-ui开发后台管理系统时,遇到一个问题,后台给了一个接口,我这边用axios请求数据,控制台总是报405错误和跨域错误 错误 405? 没见过!! ...

  4. vue开发环境和生产环境里面解决跨域的几种方法

    什么是跨域   跨域指浏览器不允许当前页面的所在的源去请求另一个源的数据.源指协议,端口,域名.只要这个3个中有一个不同就是跨域. 这里列举一个经典的列子: #协议跨域 http://a.baidu. ...

  5. vue项目开发时怎么解决跨域

    vue项目中,前端与后台进行数据请求或者提交的时候,如果后台没有设置跨域,前端本地调试代码的时候就会报“No 'Access-Control-Allow-Origin' header is prese ...

  6. VUE在开发环境下实现跨域

    1. 跨域设置 VUE项目的 config文件夹下index.js文件中修改 dev: proxyTable中的内容(默认是没有内容的): 添加内容: '/list': { target: 'http ...

  7. vue-cli 初始化项目时开发环境中的跨域问题

    最近刚刚完成自己的毕业设计(基于Vue的信息资讯展示与管理平台),于是想整理一下过程遇到的一些问题. 项目基于Vue开发,使用 Vue-cli 初始化项目文件目录时默认占用8080端口,而我又想使用 ...

  8. 前后端分离跨域 关于前后端分离开发环境下的跨域访问问题(angular proxy=>nginx )

    前后端分离后遇到了跨域访问的问题: angular1中使用proxy很麻烦,最后还是失败结束:最后总结3种方法如下: 本人使用的第一种方法,只是开发环境下使用很方便! 1:禁掉谷歌的安全策略(Turn ...

  9. 开发环境Vue访问后端接口教程(前后端分离开发,端口不同下跨域访问)

    原理:开发环境下的跨域:在node.js上实现请求转发,vue前端通过axios请求到node.js上,node.js将请求转发到后端,反之.响应也是,先到node.js上,然后转发vue-cil项目 ...

  10. PhoneGap开发跨平台移动APP - 解决跨域资源共享

    解决跨域资源共享 一.WebApi解决跨域资源共享. 开发中选择WebApi来作为服务端的数据接口,由于使用PhoneGap,就需要通过js来获取远程远程数据服务器的数据,由于同源策略的限制,这就涉及 ...

随机推荐

  1. 【Linux】TCS34725 颜色传感器设备驱动

    一.概述 此笔记主要是学习 Linux 中的 I2C 驱动,顺便验证一下 TCS34725 传感器的使用,主要内容还是程序记录,方便编写其他 I2C 设备驱动时做参考,所以关于 TCS34725 这里 ...

  2. 纸张尺寸【第十三届蓝桥杯省赛C++C组】

    纸张尺寸 在 ISO 国际标准中定义了 \(A0\) 纸张的大小为 \(1189mm×841mm\),将 \(A0\) 纸沿长边对折后为 \(A1\) 纸,大小为 \(841mm×594mm\) ,在 ...

  3. BatteryStatsHelper.java源码分析

    在分析PowerUsageSummary的时候,其实可以发现主要获取应用和服务电量使用情况的实现是在BatteryStatsHelper.java中 还是在线网站http://androidxref. ...

  4. Gvim基础操作(正则表达式)-02

    Gvim正则表达式 正则表达式在linux中使用非常广泛.主要是进行一些替换,在编写脚本的时候都会使用到.gvim.perl.sed.tcl中都会使用到. Gvim正则表达式的使用 搜索命令 /正则表 ...

  5. 【Java应用服务体系】「序章入门」全方位盘点和总结调优技术专题指南

    专题⽬标 本系列专题的目标是希望可以帮助读者们系统和全访问掌握应⽤系统调优的思路与方案以及相关的调优工具的使用,虽然未必会覆盖目前的所有的问题场景,但是还是提供了较为丰富的案例和调优理论,会帮助大家打 ...

  6. odoo中的字段创建后,不可以编辑

  7. 华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+

    摘要:本文介绍了华为云对冷启动优化这一业界难题的探索之路,创新提出了基于进程级快照的优化方案. 作者信息-- 子游:华为元戎高级工程师 平山:华为云中间件 Serverless 负责人 琪君:华为元戎 ...

  8. django框架之drf:3、API执行流程、Response源码剖析、序列化器的简介和使用、反序列化的校验

    Django框架之drf 目录 Django框架之drf 一.APIView执行流程 1.API执行流程总结(重点) 2.补充 二.Response源码剖析 1.Response类总结(重点) 三.序 ...

  9. 增加for循环-泛型的概念

    增加for循环 增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的.它的内部原理其实是个lterator迭代器,所以在遍历的过程中,不能对集 ...

  10. KStudio-Java程序连接KingbaseES数据库异常

    错误信息: --KStudio客户端工具错误信息 The conncetion attempt failed.Reason:connect time out --Java应用程序控制台日志 Cause ...