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

标签 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 中,我尝试使用我在 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/

相关文章:

javascript - 尝试在范围 : Uncaught IndexSizeError: Failed to execute 'setEnd' on 'Range' 上使用 setStart 和 setEnd 时出错

javascript - 使用 nodemailer 发送邮件

Firebase Firestore 安全规则似乎根本不适用

javascript splice() 导致 "arrayName.splice() is not a function"错误

javascript - 从网站下载图片到桌面

node.js - AWS Lambda SDK - TooManyRequestsException

node.js - NodeJS 上传文件 100% cpu 使用率

css - 我的传单 map 没有出现在我的网页上

javascript - 当 props 没有改变时,React memo 会继续渲染

javascript - 使用 Twitter Bootstrap 3 的网格时,面板主体与导航栏标题重叠