什么是标准的预处理/后处理工作流程?

时间:2014-02-04 15:30:03

标签: javascript css performance sass gruntjs

什么是更有效的做事方式:

  1. 拥有SASS文件&在本地环境中单独的CSS / JS文件,并在部署后对它们进行编译,连接和缩小。

  2. Build&在本地编译所有文件,只推送已编译,连接和缩小的文件。

  3. 我认为#2从性能角度来看更有意义,但是对于那些有多个开发人员处理相同事情的项目来说,它更难以维护。

    这个问题是否有一个常用的解决方案?

1 个答案:

答案 0 :(得分:0)

我将两个源(例如SASS,CoffeeScript)和编译/缩小版本保存在同一个存储库中。

每当我正在处理它时,我都会打开一个或多个进程来查找文件中的更改并启动相关的编译过程。这样,无论何时我在浏览器上测试更改,它都会加载最终编译/缩小版本。我必须在点击保存并在浏览器上点击重新加载之间等待1或2秒,但恕我直言,我在下面解释的好处抵消了这个缺点。

每当我提交时,它都包括对源的更改和相关的编译/缩小版本。

这解决了我的所有问题,包括:

  1. 所有测试都是在最终编译版本上完成的,即使在开发期间也是如此,而不是在一些不同的半成品版本上。这对于潜在的破坏性操作尤其重要,例如Google Closure Compiler Advanced Compilation。 (事实上​​,这种开发策略首先允许我使用高级编译。)

  2. 在演示/测试/生产服务器上进行部署不需要编译步骤,这可能需要与这些服务器上不同的工具和版本。

  3. 这只是我的经历。它可能需要在大型项目上进行更改,但对于中小型项目,它可以完美运行。