如何在Adonisjs控制器中使用axios或任何其他http请求客户端软件包

时间:2019-05-23 16:08:20

标签: node.js adonis.js

我想在控制器内部时调用外部API来获取一些数据。

比方说,有两个不同的项目,一个托管在example.com中,另一个托管在a.example.com中。 现在,当我在a.example.com sub-domain上时,我想要登录example.com的用户数据在该子域中。

出于测试目的,我在example.com中设置了API URL,它将返回预期的json数据。

我的问题是,我想从a.example.com域中向该API调用axios。但是我不能在我的控制器中要求axios包。

这是我的a.example.com的控制者:

'use strict'


const axios = require('axios')
class UserController {


    async getAllUser({ request, auth, response, axios }) {

        await axios('http://test.appifylab.com/getUser')
            .then(response => {
                return response;
            });


    }

}

export default UserController

但是我得到这个错误:

'import' and 'export' may appear only with 'sourceType: module' export default UserController

我不知道该如何解决,有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

在Adonis中,您使用“ use”代替了require。

const Axios = use('Axios');

答案 1 :(得分:0)

代替

export default UserController

使用

module.exports = UserController