【发布时间】:2017-12-27 05:47:26
【问题描述】:
很抱歉,我无法定义一个标题来让我的问题更明确。但我会尝试在这里解释我的问题:
我们在 JavaScript 项目中使用 Grunt 将 Sass 文件编译为 CSS 并浏览和缩小我们的 JavaScript 模块。
Sass 和 JavaScript 源代码位于多个文件夹中(每个应用模块一个),文件夹结构如下:
src/
styles/
base.scss
style.scss
js/
module1.js
module2.js
app.js
Grunt 任务将这个文件编译成这个结构:
dist/
styles/
style.css
js/
app.js
dist 下的所有文件都被 Git 忽略。
当我们部署我们的应用程序时,我们会创建增量更新,这基本上是 git diff --name-only 以获取已更改文件的列表。
我的问题来了:当我部署应用程序时,我必须构建所有的 JavaScript 和 Sass 文件。由于编译的文件在 Git 之外,我不知道这些文件中的哪些已更改(与最新版本相比)。
我想到的唯一解决方案是将编译后的 CSS 和 JavaScript 文件也添加到 Git。但随后我们将不得不与这些文件中的合并冲突作斗争。
对如何优化此工作流程有任何想法或经验?
2017 年 9 月 19 日更新: 我已将标题更改为更准确,因为我正在搜索的是在使用 Grunt 和 Git 的 JavaScript 项目上构建增量更新的工作流程。
【问题讨论】:
标签: javascript git sass gruntjs