4

我已经设置了我的网络服务器,以在大多数情况下遵循常见的 git / web 工作流

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

问题在于,在生产环境中,我们合并并缩小主分支 js/css 文件并将它们放在我们的 cdn 上,每次我们更改和缩小文件时,文件名都会更改,因此我们的主分支最终会引用诸如 cdn.example 之类的内容。 com/e23ab9.js,这当然会随着我们代码更新的频率而变化。

但是在我们的开发版本和分支上,我们当然希望只引用未合并和未缩小的文件,以便我们可以不断测试新的修改。

我确信有一种智能/简化的方法可以解决这种情况,因此我们不会在每次使用最新的开发版本更新生产版本时不断地在原始 js/css 文件和新生成的缩小文件名之间来回提交.

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

任何建议、提示或方向将不胜感激

谢谢大家

4

1 回答 1

1

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

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

  1. 您可能会压缩和合并您的文件,创建一个动态和随机的文件名,然后发送到 CDN。
  2. [这里的猜测很长。
  3. 渲染时,您检查服务器端代码是否处于生产或开发状态。3a。如果是生产,请获取类似“PID”的文件并指向缩小的 CDN 文件 3b。如果是开发,加载所有常规资源

这需要一个假设的飞跃,但我之前已经看到过这个实现,所以我选择了它:-p

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

是的,简化这一点的一种好方法是通过Google Pagespeed Module

然后,只需在您的虚拟主机配置中为您的生产设置进行设置,以允许 Pagespeed 完成它的工作,并在您的开发设置中关闭 Pagespeed!

最终以这种方式相对简单。

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

于 2017-06-11T20:05:26.323 回答