所以基本上我想要这个块:const {someFunction} = require("/somePath");exports.exportedFunction = (req, res) => { someFunction() }像这个块一样工作:exports.exportedFunction = (req, res) => { const {someFunction} = require("/somePath"); someFunction();}但无需重复导入。如何防止每次导出时重复导入?我想要一个导入,我可以在每个导出中使用该函数,而无需完全导入到导出中。这可能吗?更新:好的,有一个小更新。我已经做了一个最低要求的问题重现,它看起来像这样://index.jsconst 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.jsconst express = require("express");const router = express.Router();const controller = require("./controller");router.get("/", controller.testModule);module.exports = router;//controller.jsconst {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() 调用我的控制器中的函数。问题已正式解决,但如果您有更好的主意,我洗耳恭听。
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
根据您的评论,我认为您可能想做以下事情?
// index.js
module.exports = { someFunction }
// router.js
// case1
const { someFunction } = require("./index.js")
someFunction() // it will work
// case2
const index = require("./index.js")
index.someFunction() // it will work
但是,如果您想将 someFunction 导出到另一个导出
然后使用新函数,您需要这样做。
// another.js
const { someFunction } = require("./index.js")
exports.exportedFunction = someFunction
// router.js
const { exportedFunction } = require("./another.js")
exportedFunction() // it will work
添加回答
举报
0/150
提交
取消