【发布时间】:2020-05-19 14:30:25
【问题描述】:
我正在尝试找到一种方法将我的多个 scss 文件编译成一个 css 文件。
脚本在 package.json 中使用 node-sass
目前我发现的最好的是:sass --watch .assets/css/scss/:assets/css
问题是它为每个 scss 文件和一个 css 映射文件创建一个 css 文件。
我以前在没有手表node-sass --include-path scss .assets/css/scss/style.scss assets/css/style.css 的情况下工作,但每次保存时都必须运行该命令。
像这样使用sass --watch .assets/css/scss/style.scss:assets/css/style.css 和 style.scss:
@import 'test1.scss';
@import 'test2.scss'
不工作,但控制台说:
将 style.scss 编译为 style.css。 将test1.scss编译成test1.css
我错过了什么吗?
编辑:由于某些原因,在子系统 linux 上只运行没有节点的 sass 会导致一些蓝屏。使用 node-sass --watch ./assets/css/scss/style.scss:assets/css/style.css 或 node-sass --watch ./assets/css/scss:assets/css 返回 npm 错误:code ELIFECYCLE errno 1
【问题讨论】:
-
可能是错字? assets/css/scss/style.scss 之前的点是正确的还是引用了实际的文件夹?
-
使用下划线通常可以避免包含被单独编译。所以,照原样调用
@imports,但实际的SCSS文件重命名为_test1.scss等。 -
@deelde 它正在使用节点但试图运行
sass --watch .assets/css/scss/:assets/css我只是连续出现 2 个蓝屏... @disinfor 我应该使用哪个命令(考虑到没有节点的 sass 会导致一些蓝色屏幕)?我是否还必须重命名文件 test1 还是只是导入到 style.scss 中? -
您需要用下划线重命名实际的 SCSS 文件。在您的
@import中删除下划线(这样您就可以保留当前拥有的内容)。您的--watch应该在您保存包含文件并重新编译到您的styles.css 时选择