允许从 Express 中的不同文件访问变量

Allow a variable to be accessed from different files in Express

我有 2 个 Javascript 文件。一个 app.js 文件和 productController.js.

我正在 app.js 中设置一个变量,需要在 productController.js

中访问它
.......
    const next = require('next')
    const dev = process.env.NODE_ENV !== 'production'
    const nextLoader = next({dev})
    const handle = nextLoader.getRequestHandler()

    nextLoader.prepare().then(() => {
        const app = express();

        app.use(cors());
        app.set('nextRender', nextLoader) <-----
.......

然后在 productController.js 中,我尝试使用我在 app.js 文件中设置的 nextRender

const Product = require('../models/Product.js')

exports.listProducts = (req, res) => {
    nextRender.render(req,res, '/products')
}

app.js 中,将您的 nextLoader 对象存储在 app 中:

app.nextRender = nextLoader;

productionController.js 中使用 req.app.nextRender :

exports.listProducts = (req, res) => {
    req.app.nextRender.render(req, res, '/products')
}