我有 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;
在生产 Controller .js
中使用req.app.nextRender
:
exports.listProducts = (req, res) => {
req.app.nextRender.render(req, res, '/products')
}
关于javascript - 允许从 Express 中的不同文件访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45257086/