为了账号安全,请及时绑定邮箱和手机立即绑定

将导入函数添加到导出函数中时出现问题

将导入函数添加到导出函数中时出现问题

精慕HU 2023-07-20 16:09:05
所以基本上我想要这个块: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


查看完整回答
反对 回复 2023-07-20
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信