javascript - 如何在已部署的 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
它变得很烦人..
解决方案
后端
这会检查您是处于生产模式还是开发模式,并根据模式分配相应的 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
上运行,将解析为。如果您已部署应用程序生产模式,则返回。undefined
production
注意:仅仅因为您已经部署了应用程序并不一定意味着您已经更改了 NODE_ENV
前端
利用 javascript 窗口提取 url
const url = window.location.origin;
推荐阅读
- reactjs - 如何使用 React.js 联系表单实现 Netlify 表单?
- elasticsearch - Elasticsearch嵌套查询必须和必须不具有相同的字段
- swift - 当用户停止快速输入时如何创建函数
- html - 如何根据屏幕大小重新排列 flexbox 内元素的顺序?
- python - 3D 椭球体和显示它们
- here-api - 地图图像 API - 区域资源 - 请求 URL 太长
- ruby - Ruby RSpec Net:HTTP - 如何在模拟响应时按预期测试请求有效负载
- python - 在 python 3.8 shared_memory 中,resource_tracker 需要由子进程继承,但这是如何实现的呢?
- flutter - 如何在颤动中创建多色按钮
- c# - 在 Blazor 中是否有更短的方法来完成这项任务?