Javascript gulp compass创建一个不需要的文件,而不是仅使用流
这是我的应用程序compass gulp任务:Javascript gulp compass创建一个不需要的文件,而不是仅使用流,javascript,node.js,gulp,Javascript,Node.js,Gulp,这是我的应用程序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
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));
});
作为compass的一部分,创建了index.css文件。这是一个不需要的操作。我只想要流中的数据,而不想将其写入文件。明天我可能会更改目的地,例如,我还必须更改compass的css
属性。有没有一种方法可以告诉compass不要创建css文件,而只通过流传递它?删除compass配置中的
css:path.css,
。否则compass认为应该直接生成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));
});
编辑:
我只是再次运行它,实际上,它在根目录中创建了css目录。我只检查了应用程序/css…抱歉,文档中似乎说ruby compass不可能以这种方式工作:
请确保在中添加具有相同值的css和sass选项
config.rb,因为compass无法直接输出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));
});
不幸的是,我目前没有看到一个好的解决方案。幸运的是,额外的文件生成不会影响性能
或者您可以看看Bourbon,它与Compass非常相似,更好地集成到节点环境中(因为它只是混音器,没有自己的特殊编译器):
您是否尝试过以下方法
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));
});
看起来
compass
和gulp.dest
都在创建.css
文件。尝试删除.pipe(gulp.dest(path.css))
并确保compass
配置对象的css
属性指向所需的目标位置
从原始海报更新代码
什么是“指南针”?请添加npm所需的所有信息。(我猜是大口指南针)@SteveLacy加上了它。它不起作用。css选项的默认值为“/css”。您在任何地方都有其他设置吗?或者你使用的是旧版的gulp指南针?因为我在一个测试系统中试过了,它成功了。我没有其他设置。这是我开始的一个新项目。。。您可以发布您的示例吗?在您修复的代码中,我认为gulp.dest(path.css)覆盖了compass的文件。我不认为clean在这里有什么帮助。@Naor它会删除不需要的文件吗?我有一个类似的问题,gulp制作了两个文件夹和文件。我将css属性添加到对象中,并删除了.pipe(gulp.dest())方法,它对我有效。谢谢