所以基本上我想要这个块:
const {someFunction} = require("/somePath");
exports.exportedFunction = (req, res) => { someFunction() }
像这个块一样工作:
exports.exportedFunction = (req, res) => {
const {someFunction} = require("/somePath");
someFunction();
}
但无需重复导入。如何防止每次导出时重复导入?我想要一个导入,我可以在每个导出中使用该函数,而无需完全导入到导出中。这可能吗?
更新:好的,有一个小更新。我已经做了一个最低要求的问题重现,它看起来像这样:
//index.js
const express = require("express");
const app = express();
const router = require("./router");
exports.exportableStuff = () => {
return [1,2,3];
};
app.use("/", router);
app.listen(3000, () => {
console.log("i am listening");
});
//router.js
const express = require("express");
const router = express.Router();
const controller = require("./controller");
router.get("/", controller.testModule);
module.exports = router;
//controller.js
const {exportableStuff} = require("./index");
exports.testModule = (req, res) => {
console.log("it has been done");
exportableStuff();
res.send("<h1>hello, user</h1>");
}
UPDATE2:我实际上自己设法修复了关闭问题。为了使这项工作有效,我实际上所做的是改变这一点:
const {exportableStuff} = require("./index");
进入:
const model = require("./index");
并使用 model.exportableStuff() 调用我的控制器中的函数。问题已正式解决,但如果您有更好的主意,我洗耳恭听。
莫回无
相关分类