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

时间:2017-07-22 16:58:35

标签: javascript node.js next.js

我有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我试图使用我在nextRender文件中设置的app.js

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

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

1 个答案:

答案 0 :(得分:0)

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

app.nextRender = nextLoader;

productionController.js中使用req.app.nextRender

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