0

我正在尝试设置我的网络应用程序(浏览器扩展),以便我可以在开发、测试和生产之间无缝移动。在大多数情况下,我避免将任何 URL 硬编码到应用程序中,但在少数地方这是不可能的:

  • 作为一个注入 js 的浏览器扩展,我在页面上插入 iframe 时不能使用相对路径(或 location.host),因为它将默认为其插入的域。(但我实际上需要将其作为 localhost 进行测试,然后在我推送直播时将其作为 www.mydomain.com )
  • 我有时也喜欢同时针对测试数据库和实时数据库进行测试,但不想总是切换该标志并冒着提交测试数据库设置的风险。

我真正想做的是在我提交(在几个文件 x.php、y.js 上)之前搜索/替换以将 localhost 替换为 www.mydomain.com。

谁能告诉我如何使用预提交挂钩(或任何其他技术)来做到这一点?

编辑:

虽然我在 mercurial hooks 下发布了这篇文章——我 100% 对任何其他自动化更改的方法持开放态度......

  • 在拉动更改后,我也可以在实时服务器上进行更改..
  • 我想对于数据库更改,我可以从我的存储库中删除配置文件并在我的实时服务器上保留一个预配置版本——但我不喜欢这个,因为从我的存储库拉到一个新的服务器/路径会拉整个没有任何数据库设置的应用程序......(只是在这里倾倒我的想法,以防它帮助某人解决问题)

谢谢!

4

1 回答 1

0

我会把一些东西放在一个不受版本控制的文件中(即将它添加到你的.hgignore)。如果文件不存在(或选择一个合理的默认值),则使某些事情令人讨厌地失败,您现在可以轻松地切换该文件中的主机名(无需冒险提交)。

于 2013-05-20T09:18:21.143 回答