开发分支与生产分支的Javascript / CSS文件位置

时间:2012-06-22 10:21:52

标签: git deployment minify production-environment dev-to-production

我将我的网络服务器设置为大部分都遵循common git / web focused workflow

所以我在一个文件夹中有一个dev分支作为子域,在我的根文件夹/域中有一个master分支。

麻烦的是,在生产中,我们结合了&缩小我们的主分支js / css文件并将它们放在我们的cdn上,每次我们更改&缩小文件,文件名更改,以便我们的主分支最终引用类似cdn.example.com/e23ab9.js的东西,这当然会随着代码更新而频繁更改。

但是我们的开发版本&分支,我们当然想要引用未组合的& amp;未经授权的文件,以便我们可以不断测试新的修改。

我确信有一种智能/简化的方法可以解决这种情况,所以每次我们使用更新生产版本时,我们都不会经常在原始js / css文件和新生成的缩小文件名之间来回传递。最新开发版。

我认为解决方案可能涉及符号链接或类似的东西,但我不太熟悉它们,并且更愿意学习并从一开始就做到这一点。

非常感谢任何建议,提示或方向

谢谢大家

1 个答案:

答案 0 :(得分:1)

jstats,我们管理类似的设置,根据您的评论,这是有道理的。

重申我认为您决定在这种情况下做的事情 -

  1. 你可能压缩&结合您的文件,创建一个动态的& 随机文件名,发送到CDN。
  2. [在这里猜测的远景..] - 你在服务器上注意到(可能是一个文件类似于PID文件,但包含随机文件名),你可以在渲染时抓住它指向CDN文件
  3. 在渲染时,您使用服务器端代码检查您是否正在进行生产或开发。 3A。如果生产,抓住你的" PID"喜欢文件并指向缩小的CDN文件 3B。如果开发,加载所有常规资源
  4. 这需要一个假设的飞跃,但我之前已经看到了实现,所以我选择了它:-p

    回答您关于更简化版本的问题:

    是的,简化此方法的一个好方法是通过类似Google Pagespeed Module

    的方法

    然后,只需在您的生产设置的虚拟主机配置中设置以允许Pagespeed执行其操作并在开发设置上关闭Pagespeed!

    以这种方式结束相对简单。

    我确定你已经继续前进,但万一其他人发现了这个问题并正在寻找答案..