如何获取node.js API的baseURL?

时间:2019-01-30 02:02:44

标签: node.js express graphql

我正在节点应用程序的后端构建一个graphql包装器。我需要正确设置api域。

很难用谷歌搜索这个短语。

const baseURL = `http://localhost:8001/api`

我可以在本地运行它,但是在部署代码后,由于域不同,它将无法工作。设置baseURL变量的方法是什么?

3 个答案:

答案 0 :(得分:0)

使用此标头属性。您可以通过这种方式识别域。
var host = req.get('host'); var origin = req.get('origin');
要么
var host = req.headers.host; var origin = req.headers.origin;

答案 1 :(得分:0)

有两种方法可以实现这一目标。

方法1: 您可以使用标题属性

var host = req.get('host');

但是,在您的情况下,这只会返回域

http://localhost:8001/

因此,这可能无法实现您的目标。

方法2: 在根文件夹中创建.env文件,然后可以使用dotenv程序包访问baseurl。

.env文件中的内容

BASEURL = http://localhost:8001/api 

现在,在要访问的任何文件中,首先使用npm安装dotenv软件包,然后使用以下语法要求该dotenv软件包

require('dotenv').config();

在函数内部之后,使用此语法从.env文件获取baseurl

const baseURL = process.env.BASEURL;

答案 2 :(得分:0)

var host = req.get('host');
  

主机返回基本网址,例如(http://localhost:8001/)或使用域   然后返回域名。

     

我已经只托管了带有“ api”的concat托管。

const baseURL = host + 'api';