3

一般开发都会遇到跨域问题,项目用脚手架搭建好之后先进行跨域

egg跨域插件: egg-cors

  • 执行安装
npm i egg-cors --save
  • 配置

1.目录config/config.default.js


module.exports = {
    /***** 跨域 *****/
    cors:{
        enable: true,
        package: 'egg-cors',
    },

};

2.目录 config/config.default.js

module.exports = appInfo => {

/******** 允许跨域访问,关闭csrf认证 /config.default.js ********/
    config.security = {
        csrf:{
            enable:false
        }
    };
    config.cors ={
        origin:'*',
        allowMethods:'GET,HEAD,PUT,OPTIONS,POST,DELETE,PATCH'
    };

};

配置好之后运行项目, npm run dev

简单新建一个html测试接口,使用axios进行数据请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>egg_test</title>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>


</body>
<script>
    axios.get('http://127.0.0.1:7001',{ /* http://127.0.0.1:7001/list */
        header:{
            'Access-Control-Allow-Origin':'*'
        }
    })
        .then(function (response) {
            console.log(response);
        })
        .catch(function (error) {
            console.log(error);
        });
</script>
</html>

可以看到控制台会输出

5ce272a9bfe5b64548.png

大功告成 _


info
38 声望5 粉丝

摸索摸索