gpt4 book ai didi

javascript - Nodejs无法导出函数

转载 作者:行者123 更新时间:2023-12-03 02:46:03 26 4
gpt4 key购买 nike

我正在创建 api 实例的通用实例,以保持代码干燥。导出函数时遇到问题:

TypeError: request is not a function

index.js

var express   = require('express'),
app = express();
const axios = require("axios");
const request = require("./request");


app.get("/api", (req, res) => {
request({
method: 'get',
url: 'https://jsonplaceholder.typicode.com/posts/1'
}).then((resp) => {
console.log(resp);
})
});


app.listen(3000);

请求.js

const axios     = require("axios");

/**
* Create an Axios Client with defaults
*/
const client = axios.create({
// baseURL: constants.api.url
});



/**
* Request Wrapper with default success/error actions
*/
module.exports.request = function(options) {
const onSuccess = function(response) {
console.debug('Request Successful!', response);
return response.data;
}

const onError = function(error) {
console.error('Request Failed:', error.config);

if (error.response) {
// Request was made but server responded with something
// other than 2xx
console.error('Status:', error.response.status);
console.error('Data:', error.response.data);
console.error('Headers:', error.response.headers);

} else {
// Something else happened while setting up the request
// triggered the error
console.error('Error Message:', error.message);
}

return Promise.reject(error.response || error.message);
}

return client(options)
.then(onSuccess)
.catch(onError);
}

原来的代码是用es6写的,但是我猜node不能很好地工作,所以我想转换上面的函数,以便node可以运行它。

最佳答案

module.exports.request = ...

您刚刚使用 request 函数导出了一个对象。该对象不是函数。

关于javascript - Nodejs无法导出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48084852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com