我的gulpfile.js
var gulp = require('gulp');
// plugins
var sass = require('gulp-sass');
var minifycss = require('gulp-minify-css');
// compile sass
gulp.task('sass', function() {
return gulp.src('static/css/scss/main.scss')
.pipe(sass())
.pipe(minifycss())
.pipe(gulp.dest('/static/css/main.css'));
});
gulp.task('watch', function() {
gulp.watch('static/css/scss/*.scss', ['sass']);
})
gulp.task('default', ['watch']);
当我运行gulp
时,我得到以下输出:
[gulp] Using gulpfile /var/www/example/gulpfile.js
[gulp] Starting 'watch'...
[gulp] Finished 'watch' after 21 ms
[gulp] Starting 'default'...
[gulp] Finished 'default' after 23 μs
然后,当我保存我的main.scss
文件时,它输出:
[gulp] Starting 'sass'...
此时它只是挂起而永远不会完成。我做错了什么?
答案 0 :(得分:3)
sass任务中的返回似乎打破了它,更新了我的gulpfile.js以使其工作:
var gulp = require('gulp');
// plugins
var sass = require('gulp-sass');
var minifycss = require('gulp-minify-css');
// compile sass
gulp.task('sass', function() {
gulp.src('static/css/scss/main.scss')
.pipe(sass())
.pipe(minifycss())
.pipe(gulp.dest('/static/css'));
});
gulp.task('watch', function() {
gulp.watch('static/css/scss/*.scss', ['sass']);
})
gulp.task('default', ['watch']);
答案 1 :(得分:1)
对于遇到此问题的其他人,我设法通过删除循环导入来解决此问题。
例如......
在:
file1.scss
@import 'file2';
file2.scss
@import 'file1';
后:
file1.scss
<removed import>
file2.scss
@import 'file1';
我实际上并不需要循环依赖,我只是将依赖项复制/粘贴到我所有scss文件的顶部。注意如果你的文件实际上需要互相导入,你需要重构你的文件这样一种方法可以避免循环依赖。
答案 2 :(得分:0)
我的sass编译无法正常工作并且gulp进程挂起并且ping我的处理器的原因是我的.scss文件中有一个旧的引用但是我已经删除了该文件。从来没有抱怨任何输出 - 这很难追查 - 我很幸运。
<module>
print("|Ø-6s|Ø-16s|Ø-9s|Ø-8s|Ø-14s|" % ("Month" , "Current Balance" , "Interest" , "Payment" , "Ending Balance"))
TypeError: not all arguments converted during string formatting