Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何保持开发和生产的相同路径_Javascript_Html - Fatal编程技术网

Javascript 如何保持开发和生产的相同路径

Javascript 如何保持开发和生产的相同路径,javascript,html,Javascript,Html,在开发模式下,我访问应用程序中的一个页面:http://localhost:8080/myapp/color/edit生产中访问的页面与http://www.myapp.com/color/edi 在我的一个元素中,我使用以下内容发布到服务器: data url=“/red/edit” 在开发过程中,上述内容变成http://localhost:8080/red/edit在生产过程中,它变成了http://www.myapp.com/red/edit。因此,它将在生产中发挥作用,但不会在本地发挥

在开发模式下,我访问应用程序中的一个页面:
http://localhost:8080/myapp/color/edit
生产中访问的页面与
http://www.myapp.com/color/edi

在我的一个元素中,我使用以下内容发布到服务器:

data url=“/red/edit”

在开发过程中,上述内容变成
http://localhost:8080/red/edit
在生产过程中,它变成了
http://www.myapp.com/red/edit
。因此,它将在生产中发挥作用,但不会在本地发挥作用

问题


如何将帖子url放入
数据url
中,使帖子url变为
http://localhost:8080/myapp/color/edit
在开发和
http://www.myapp.com/color/edit
在生产中

创建一个
baseUrl
变量,并根据您的环境进行切换。您可以检查
窗口。location
值以查看您的应用程序正在哪个环境中被访问

制作:

var baseUrl = "";
var baseUrl = "/myapp";
发展:

var baseUrl = "";
var baseUrl = "/myapp";
然后,使用
baseUrl

var dataUrl = baseUrl + "/red/edit";

根据应用程序的构建方式,您可以添加一个
ENV
变量,并根据您运行的是开发环境还是生产环境更改url。ie
data url=ENVURL+“/color/edit”
或某些环境(如rails)具有链接处理程序来为您处理切换

在JS中执行此操作的简单方法是使用
window.location.hostname
返回当前主机:

var host=window.location.hostname;
var el=目标元素
el.dataset.url=“http://“+host+”/your/post/path”