我的jQuery ajax请求的baseUrl路径在开发和生产模式下是不同的。如何在某种config.ini文件中设置它以轻松切换它。 Rightnow我正在使用仅包含baseurl路径的baseurl.js文件。在生产模式中,我通过shell脚本更改此变量。
什么应该是更好的方法?
修改
为了让事情变得更清楚,
$.ajax({
type: "GET",
url: myurl,
dataType: "script"
});
这里'myurl'var对于生产和开发是不同的。
PS:我的问题不是版本控制或将文件打包成一个。
答案 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的优势:它们以独立于主机部署细节的方式导航应用程序结构。