Javascript 在JS中处理生产和开发的路径/链接

Javascript 在JS中处理生产和开发的路径/链接,javascript,path,relative-path,web-deployment,Javascript,Path,Relative Path,Web Deployment,我有一些关于开发和生产的网站,它们之间用文件夹隔开,比如:localhost/demo1 localhost/demo2..demo3等等 问题是我的JS。每次部署它们时,我都必须更改JS文件上的一些路径,特别是使用AJAX的路径 假设以下代码是jquery ajax中的URL参数: //on dev: url: '/demo1/some-action.php' //on prod: url: '/some-action.php' 如何在JS上处理此问题?您可以声明一个函数,根据调用页的位置

我有一些关于开发和生产的网站,它们之间用文件夹隔开,比如:localhost/demo1 localhost/demo2..demo3等等

问题是我的JS。每次部署它们时,我都必须更改JS文件上的一些路径,特别是使用AJAX的路径

假设以下代码是jquery ajax中的URL参数:

//on dev:
url: '/demo1/some-action.php'

//on prod:
url: '/some-action.php'

如何在JS上处理此问题?

您可以声明一个函数,根据调用页的位置返回文件夹路径 差不多

function sitePath(){
    if(this.result!=undefined){
        // we have already tested so return the stored value
        return this.result
    }
    var folders=window.location.pathname.split('/');
    if(folders.length && folders[0].indexOf('demo')==0){
        // we are inside a demo folder so return and store the demo folder name
        return this.result='/' + folders[0];
    }else{
        // we are in the production environment so store an empty string
        return this.result = '';
    }
}
然后在代码中使用:

url: sitePath()+'/some-action.php'

kevmc,很抱歉迟到了,我检查了一下,忘了给你正确的答案。我想应该是
文件夹[1]
。对我来说,
folders=[“”、“demo”、…]