首页 > 解决方案 > NodeJs 分离 Dev 和 Prod 环境变量

问题描述

我有一个 nodejs 服务器,在我的服务文件中,我从我创建的 config.json 文件中获取请求的 url,如下所示。问题是我想对开发使用不同的变量 url,对生产使用不同的变量 url。换句话说,当在开发环境中运行时,URL 应该从 config.json 文件运行 prod url,而在 config.json 中运行 dev url。我对 nodejs 中的环境变量不熟悉,因此将不胜感激。

我的 service.js 文件之一是:

const config = require('../config');



async function getOrderLineItems(data) {
  const options = {
    method: 'GET',
    url: config.cloverApiUrl ,
    headers: {
      Authorization: 'Bearer ' + data.token,
      ContentType: 'application/json'
    },
  };
  const response = await got(options);
  return response.body;
}

我的 config.json 文件是:

{
    "connectionString": "connectionString",
    "secret": "secret",
    "cloverApiUrl": "cloverApiUrl",
    "clientSecret": "clientSecret",
    "keyUrl": "keyUrl",
    "tokenUrl": "tokenUrl"
}

标签: node.jsexpressenvironment-variablesbackendproduction-environment

解决方案


解决方案1:

要么安装配置包。

项目目录看起来像,

配置

  • 默认.json

https://www.npmjs.com/package/config

  1. 否则在项目目录中创建一个 .env 文件,然后通过 process.en.variable_name 访问它

推荐阅读