css - 将已编译的 scss 添加到 gitignore 但不添加源 css 文件
问题描述
我正在尝试在现有项目中实现 scss,特别是使用sass
npm 包。
我希望.css
编译的文件.scss
被 git 忽略。我的问题是将它们与我们存储库中存在的一些源 css 文件区分开来。
我尝试了两件事:
我试图找出一种方法让 npm 包为已编译的 css 提供更长的扩展名 - 即将任何
*.scss
文件编译为*.temp.css
或类似的东西,然后忽略所有以.temp.css
. 但是,我认为这样做的唯一方法是记住我所有的源文件的名称*.temp.scss
,这很容易出错,而且说实话有点难看。我试图将所有已编译的
.css
文件移动到资产文件夹中 - 这很复杂,因为源.css
文件和源.scss
文件最终都共享相同的父文件夹(尽管拆分为单独的 .scss)文件,并且无论出于何种原因sass
包的多对多模式不仅复制已编译的 css - 它还将复制源 css 文件。
例如,如果我有这个文件夹结构:
root
├ src
| ├ header.scss
| └ nav.css
└ dist
然后我sass root/src:root/dist
在命令行中运行,我在 dist 文件夹中得到一个副本nav.css
,除了我做的编译文件之外,我不想要这个副本header.css
。
所以我在 Stackoverflow 把它带给了你们这些聪明的人。你能想出一种优雅的方式来:
- 分配一个文件扩展名,而不是
.css
从具有确切文件扩展名的文件编译的文件.scss
, - 将文件编译
.scss
到单独的文件夹中而不移动同级.css
文件,或者 - 实现一些其他模式,允许源文件
.scss
和.css
源文件和平共存,而.scss
被编译的文件及其输出.css
文件被忽略.gitignore
?
我试图将实现保持在最低限度,但如果你认为我应该引入其他工具,如 webpack,我愿意接受任何好的推理。