我开始使用sass scss样式表。这些文件从* .scss文件生成* .css文件。我的问题是,您检查哪些文件进入版本控制?现在我检查main.scss
和生成的main.css
。我想知道是否有办法只检查* .scss文件并确保在部署时生成* .css文件。
答案 0 :(得分:2)
我更喜欢检查它们。我们从git部署到我们的登台和生产环境,在部署到生产时我更不依赖于另一个工具/编译。这样,它绝对清楚地被推出了什么。
答案 1 :(得分:1)
通常,您通常不需要将生成的文件检查到源代码管理中。只要您的代码生成一致,并且您一直使用它来更新目标.css文件,我认为您不需要将它们放在源代码管理中。
也就是说,不将生成的文件放入源代码控制的建议通常更多地用于二进制文件(即从构建生成的库或可执行文件)。这样做的主要原因是二进制文件无法轻易地进行差异/合并,因此如果多个人尝试检查对同一二进制文件的更改,最终可能会出现无法轻松解决的合并问题。既然你正在处理纯文本css文件,我认为将它们放在源代码控制中并不是一件大事,只是让你有一个实际目标文件的备份。
答案 2 :(得分:0)
我喜欢借用服务器端开发人员在处理像sass这样的已编译前端代码时使用的约定。我将所有源代码与编译代码分开。以下是我如何设置它:
将源放在src目录中,在main / language-name下,在这种情况下:
/path-to-my-app/src/main/sass/my-syntactically-awesome-file.scss
然后将测试放在相同的测试目录中(不应该对sass进行任何测试:
/path-to-my-app/src/test/sass/my-syntactically-awesome-test.whatever
然后将已编译的代码放在发布就绪目录中,如下所示:
/path-to-my-app/publish/css/my-syntactically-awesome-file.css
然后提交整个shebang(!)
您可以确保始终将您的CSS放在正确的位置:
$ cd /path-to-my-app
$ sass --watch src/main/sass/*.scss:publish/css/
现在你是一位做母亲的程序员,宝贝!