Node.js:如何解决循环依赖

问题描述 投票:0回答:1

我知道这个问题已经被问过多次,但我的情况很具体:

我有三个文件,一个

controller.js
router.js
和一个
app.js

router.js
进口
controller.js
app.js
进口
router.js

我需要从

app.js
导入一些东西到
controller.js
,我该怎么做?

javascript node.js circular-dependency
1个回答
0
投票

您最好重构您的代码以不需要它。也许创建第三个类,使用其他两个来完成你需要的,如果你必须在

app.js
中使用一个函数,你可以这样做:

在要求之前你应该出口

express()
functions

app.js

const express = require("express");
const func = () => {
  console.log("I'm in App");
};
var exportFiles = module.exports = {
  app: express(),
  func: func,
};
var { app } = exportFiles;
const fs = require("fs");
const path = require("path");
const bodyParser = require("body-parser");

app.listen(8080, () => {
  console.log("server port is 8080")
})

contolers.js

const {func} = require('../app');

当您在控制器中调用

func()
时,结果是:

func() // I'm in App
© www.soinside.com 2019 - 2024. All rights reserved.