我正在合併swagger文件。我想通過陣列狀發送數組在module.exports承諾
[
{ method: '1', path: '/signIn', handler: funation() {return "abcd"},
{ method: '2', path: '/signOut', handler: funation() {return "123"},
]
我得到的結果是按我的需要,但它並沒有傳遞到module.exports,我已經檢查到另一個文件控制檯需要這個文件後, 我的代碼是這樣
jsonResolve(root, options).then(function (results) {
const result = results.resolved.paths;
// console.log(result);
for (key in result) {
// console.log('keys', key);
const apiRoute = key;
const apiDescription = result[key];
let controller = apiDescription['x-swagger-router-controller'];
for (method in apiDescription) {
// console.log("methods", method);
let newRoute = {};
if (method !== 'x-swagger-router-controller') {
let operationId1 = apiDescription[method].operationId;
newRoute = {
method: method,
path: apiRoute,
handler: controllers[controller][operationId1](),
};
exoprtData.push(newRoute);
}
}
}
return exoprtData;
})
.then((result) => {
console.log(result);
module.exports = result;
})
我已經檢查到最後的結果。但不能傳遞到module.exports
我需要的文件的代碼是這樣,
var ApiRoutes = require("./routes/api");
console.log("ApiRoutes", ApiRoutes);
,在這裏我得到結果到控制檯像
ApiRoutes {}
請幫我解決這個問題。在此先感謝
「模塊應該導出函數而不是數據」 – Vanojx1
您不能異步分配到'module.exports'。嘗試導出路線的承諾。 – Bergi