如何在开发和生产模式下的jQuery ajax请求中设置不同的baseUrl路径?

时间:2010-02-06 22:20:07

标签: javascript jquery ajax url

我的jQuery ajax请求的baseUrl路径在开发和生产模式下是不同的。如何在某种config.ini文件中设置它以轻松切换它。 Rightnow我正在使用仅包含baseurl路径的baseurl.js文件。在生产模式中,我通过shell脚本更改此变量。

什么应该是更好的方法?

修改

为了让事情变得更清楚,

 $.ajax({
   type: "GET",
   url: myurl,
   dataType: "script"
 });

这里'myurl'var对于生产和开发是不同的。

PS:我的问题不是版本控制或将文件打包成一个。

4 个答案:

答案 0 :(得分:3)

如果您正在使用某些动态页面技术(asp,php,...),那么您可以将baseurl.js文件转换为动态文件,如baseurl.js.php,然后在其中打印当前网址。 (如果这就是你要求的)。

答案 1 :(得分:1)

在部署任何使用超过我的JavaScript的网站时,我喜欢使用YUI Compressor将我的所有脚本文件打包到一个文件中,然后将其包含在生产网站上,并且会加载很多比浏览器必须单独加载每个文件更快。

为避免在运行时出错,我创建了一个包含YUI命令行参数的shell脚本,该脚本在部署之前运行。这也是引用任何特定于生产的JavaScript文件的理想位置 - 例如,您可以创建一个production.js文件来设置baseurl路径并将其包含在命令行中。

答案 2 :(得分:0)

使用版本控制系统将是最佳方法。

您将拥有一个配置文件,每个客户端都可以“检查”并随意修改它以适应他们自己的环境(开发,测试,生产等)。

您可能已将生产配置提交到修订控制系统,并且您将在开发环境中拥有自定义版本。只是不要将自定义版本检入修订控制服务器。

我不知道你在使用什么操作系统,但我建议TortoiseSVN(对于Windows)和Beanstalk(托管的颠覆服务)以最小的努力启动和运行。如果您更愿意设置自己的SVN服务器,VisualSVN使其成为一项微不足道的任务。

瞧,没有更多的交换配置!

答案 3 :(得分:0)

我认为相对URL在开发与生产方面有所不同听起来像是一个错误。这几乎是相对URL的优势:它们以独立于主机部署细节的方式导航应用程序结构。