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

时间:2013-07-16 00:06:15

标签: 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上处理这个问题?

1 个答案:

答案 0 :(得分:2)

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

之类的东西
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'