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。iedata url=ENVURL+“/color/edit”
或某些环境(如rails)具有链接处理程序来为您处理切换
在JS中执行此操作的简单方法是使用window.location.hostname
返回当前主机:
var host=window.location.hostname;
var el=目标元素
el.dataset.url=“http://“+host+”/your/post/path”代码>