首页 > 解决方案 > 如何在已部署的 Heroku 节点应用程序上获取基本 url 变量

问题描述

我尝试了以下方法,但它不起作用:

console.log(process.env.BASE_URL);   #output: undefined

假设我的 heroku 应用程序的主机名是:https ://RyanCameron-app.herokuapp.com

我应该如何在heroku上获取那个base_url?

我正在寻找一种解决方案,以避免分别取消注释/注释以下行:

const url = 'https://RyanCameron-app.herokuapp.com/projects/eovendo' //production 
//const url = 'http://localhost:3000'                                //development

它变得很烦人..

标签: javascriptnode.jsheroku

解决方案


后端

这会检查您是处于生产模式还是开发模式,并根据模式分配相应的 url。

const production  = 'https://examplePage.com';
const development = 'http://localhost:3000/';
const url = (process.env.NODE_ENV ? production : development);

说明: 如果您在 localhost production modeprocess.env.NODE_ENV上运行,将解析为。如果您已部署应用程序生产模式,则返回。undefinedproduction

注意:仅仅因为您已经部署了应用程序并不一定意味着您已经更改了 NODE_ENV


前端

利用 javascript 窗口提取 url

const url = window.location.origin;


推荐阅读