吞噬指南针创build一个不需要的文件,而不是只使用stream

这是我的app-compass gulp任务:

var compass = require('gulp-compass'); var autoprefixer = require('gulp-autoprefixer'); gulp.task('app-compass', function() { var stream = gulp.src('./app/styles/index.scss') .pipe(compass({ css: paths.css, sass: 'app/styles', image: 'app/assets/images', generated_images_path: paths.images })) .pipe(autoprefixer()) .pipe(gulp.dest(paths.css)); }); 

作为指南针的一部分,创build了一个index.css文件。 这是一个不需要的操作。 我只想在stream中的数据而不写入文件。 明天我可能会改变目的地,例如,我将不得不改变指南针的css属性。
有没有一种方法,我可以告诉指南针不创build一个CSS文件,只通过它传递它?

它看起来像compassgulp.dest都创build.css文件。 尝试删除.pipe(gulp.dest(paths.css))并确保compassconfiguration对象的css属性指向所需的目标位置。

从原始海报更新代码

 gulp.task('app-compass', function() { var stream = gulp.src('./app/styles/index.scss') .pipe(compass({ css: paths.css, sass: 'app/styles', image: 'app/assets/images', generated_images_path: paths.images })) .pipe(autoprefixer()); }); 

删除指南针configuration中的css: paths.css, 。 否则指南针认为它应该直接生成一个css。

 var compass = require('gulp-compass'); var autoprefixer = require('gulp-autoprefixer'); gulp.task('app-compass', function() { var stream = gulp.src('./app/styles/index.scss') .pipe(compass({ sass: 'app/styles', image: 'app/assets/images', generated_images_path: paths.images })) .pipe(autoprefixer()) .pipe(gulp.dest(paths.css)); }); 

编辑:

我只是再次运行它,实际上,它创build了根目录中的css目录。 我只检查了应用程序/ css …对不起,它看起来像文档说,这是不可能的ruby指南针的工作方式:

请确保在config.rb中添加具有相同值的css和sass选项,因为compass不能直接输出css结果。

https://www.npmjs.com/package/gulp-compass

不幸的是,我目前看不到一个好的解决scheme。 幸运的是,额外的文件生成不会杀死你的performance。

或者你可以看看波本,它与Compass非常相似,并且更好地集成到节点环境中(因为它只是没有自己的特殊编译器的mixin):

https://www.npmjs.com/package/node-bourbon

你有没有尝试过以下?

 var compass = require('gulp-compass'); var autoprefixer = require('gulp-autoprefixer'); var clean = require('gulp-clean'); gulp.task('app-compass', function() { var stream = gulp.src('./app/styles/index.scss') .pipe(compass({ css: paths.css, sass: 'app/styles', image: 'app/assets/images', generated_images_path: paths.images })) .pipe(autoprefixer()) .pipe(clean()) .pipe(gulp.dest(paths.css)); });