我正在创建一个Create-React-App项目,该项目出众地不支持css transpilers,比如SASS和Less。正如讨论的here和here所述,通用解决方案是编译源代码.less/.scss并将构建产品.css导入到组件中。然后,您可以从源代码管理中删除所有.css文件,并仅跟踪.less/.scss。是否有可能.gitignore只有某些.css文件是构建相邻.less/.scss文件的产品?
这是一个很好的解决方案,但只有少数我的组件真的需要较少的清晰度/可扩展性;大多数情况下,纯CSS是很好的。所以,我想要做的就是在任何地方使用.css,除了一些无处不在的散布在这里和那里。我可以用Less编译器来配置它,但是对于源代码控制,我只想观看“源”css文件,并忽略“生成”css文件(从Less生成)。正因为如此,我无法覆盖.gitignore所有.css,因为有些是真正的源文件。
那么,是否有这样的glob模式?可能:
*.css where *.less
我看其他两个可能的解决方案:
- 开关一切.LESS,即使它没有必要,并继续忽略所有*的.css
- 只选择性的.gitignore构建产品的.css。
我喜欢选项2,但它似乎有点容易出错和更多的维护。
您可以创建一个简单的文件读取器,查找无文件,并在替换src/*之后将它们追加到.gitignore中,以便构建/ * .css。并运行此任务,以便找到任何新的.less文件,这些文件也将添加到.gitignore文件中 – karthick