使用Libsass编译Foundation 6时,修改目录的配置文件在哪?
解决Foundation 6(Libsass)修改编译目录的问题
嘿,我完全懂你怀念Foundation 5里config.rb那种直白配置方式的心情!Foundation 6切换到Libsass(没错,它是用C写的,速度确实快很多)之后,确实不再用Ruby的配置文件了,而是把编译配置整合到了项目的构建工具配置里,分两种常见情况给你说明:
1. 用Foundation CLI创建的标准项目
如果你是通过foundation new命令创建的项目,默认用Gulp作为构建工具,配置文件就是项目根目录下的**gulpfile.js**:
- 打开这个文件,找到处理Sass的任务段(通常会有
gulp.task('sass', function() {...})这样的代码块) - 你会看到类似
gulp.src('scss/app.scss')的代码,这里的scss/就是默认的输入目录,改成你想要的路径就行 - 再找
.pipe(gulp.dest('css'))这一行,css/就是输出目录,同样替换成你的目标路径 - 如果你用
foundation watch命令监听文件变化,修改完gulpfile.js后,监听任务会自动使用新的目录路径
2. 自定义Libsass项目(手动搭建)
如果是你自己手动配置的Libsass环境(比如直接用node-sass命令行工具),有两种灵活的配置方式:
- 方式一:在
package.json里定义脚本
打开项目根目录的package.json,在scripts字段里添加自定义编译命令,比如:
之后运行"scripts": { "build:sass": "node-sass your-input-dir/ -o your-output-dir/", "watch:sass": "node-sass your-input-dir/ -o your-output-dir/ --watch" }npm run build:sass就能编译,npm run watch:sass就能监听自动编译。 - 方式二:创建自定义配置文件
可以新建一个sass-config.json文件,内容示例:
然后运行{ "file": "your-input-dir/app.scss", "outFile": "your-output-dir/app.css", "watch": true }node-sass --config sass-config.json就能按照配置执行编译/监听。
当初我从Foundation 5转过来的时候,也花了点时间才适应这种变化,毕竟从Ruby配置转到JS/JSON配置,思路确实不一样,但灵活性其实更高了!
内容的提问来源于stack exchange,提问作者gavnosis
相关产品推荐
相关产品推荐

