访问express服务器中的privateRuntimeConfig



我已经安装了express-nuxt模板,我想知道如何从express(API文件夹(访问nuxt.config.js中的privateRuntimeConfig。我考虑过的一种方法是将vars放在.env文件中,然后为express服务器安装dotenv包,但我认为只使用Nuxt可能会更好。

我们通过将Nuxt配置导入到配置Express应用程序的文件中,并使用defu来组合公共和私有运行时配置,就像Nuxt本身所做的那样:


// nuxt.config.js
export default {
publicRuntimeConfig: {},
privateRuntimeConfig: { redis: { url: process.env['REDIS_URL'] } }
};

// api/index.js
import express from 'express';
import defu  from 'defu';
import { createClient as createRedisClient } from 'redis';

const app = express();

import nuxtConfig from '../nuxt.config.js';
let runtimeConfig;

app.use((req, res, next) => {
if (!runtimeConfig) {
// Load Nuxt config once, at runtime
runtimeConfig = defu(nuxtConfig.privateRuntimeConfig, nuxtConfig.publicRuntimeConfig);
}
next();
});

// Subsequent middlewares will then be able to read from `runtimeConfig`
app.use((req, res, next) => {
const redisClient = createRedisClient({ url: runtimeConfig.redis.url });
next();
});

export default app;

相关内容

  • 没有找到相关文章

最新更新