繁体   English   中英

使用 Javascript 在前端制作基础 URL(开发、API 和生产)

[英]Make Base URL at Frontend using Javascript (development, APIs and production)

无论开发和部署如何,如何制作与 http、https、localhost、端口和实际域一起使用的基础 url?

我想制作一个基本的 url,无论是在开发中还是在部署/生产中,无论 http/https 协议、端口、本地主机和实际域如何,它都能在所有场景或条件下工作。

所以,我想出了这个基本的东西,通过使用简单的 javascript 来处理本地服务和构建生产。

基本

var getUrl = window.location;
var baseUrl = getUrl.protocol + "//" + getUrl.host;

这个基础 url 将在运行时计算并决定实际协议和实际主机名。

进步

如果你想改变API调用不同端口不同微服务的端口,你也可以使用这个function

function changePortForAPI(baseUrl, port) {
    var host = baseUrl.split("//");
    var res = host[1].split(":");
    res[1] = port;
    var result = host[0]+"//"+res[0] +":"+ res[1];
    return result;
}

注意:这个 'changePortForAPI(baseUrl, port)' 用于开发目的,因为在构建时没有使用端口来进行 API 调用,因为它将由 Apache 和 Z62E0B5B350C9E3D2C19AA8 等服务器处理。

因此,要检测 localhost/development 部分并为 API 调用使用不同的端口,您可以使用

function inDevelopment(baseUrl){
    var index = baseUrl.indexOf("localhost");
    if(index > 0){
      return true;  
    }
    else{
      return false;
    }
}

检测到开发模式后,您可以使用“changePortForAPI”function 进行 API 调用,这在开发和部署中也可以正常运行。

编辑:

function inDevelopment(baseUrl){
    var host = baseUrl.split("//");
    var index = host[1].indexOf(":");
    if(index > 0){
      return true;  
    }
    else{
      return false;
    }
}

当您考虑提交更改并且您正在使用与其他开发人员分开的网络 ip 时,此编辑的 function 很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM