gulp-windows 上的罗盘文件名错误
gulp-compass fileName error on windows
我是第一次使用 compass/susy,我想使用 liveReload 来避免重新加载。
我在安装 compass 之后安装了 gulp-compass,但显然它返回的是不带引号的 src 文件路径。
这是我的 gulpfile.js:
var gulp = require('gulp'),
compass = require('gulp-compass');
// Compass
gulp.task('compass', function () {
gulp.src('sass/*.sass')
.pipe(compass({
config_file: './config.rb',
css: 'css',
sass: 'sass',
require: ['susy']
}))
.on('error', console.error.bind(console))
.pipe(gulp.dest('temp/'));
});
并且 returns 出现以下错误:
Starting 'compass'...
'E:\Program' not recognizes as a internal or external command [...]
{ [Error: Compass failed]
message: 'Compass failed',
fileName: 'E:\Program Files\wamp\[...]\style.sass',
showStack: false,
showProperties: true,
plugin: 'gulp-compass',
__safety: { toString: [Function] } }
所以我收集到的是源文件的路径(在我的 windows 中,位于 "E:\Program Files[...]" 内)在不带引号的情况下返回,使第一个空白字符看起来像结尾的路径,对吗?
如何将其放在引号内?我正在做所有这些工作,顺便说一下,我可以使用 gulp 和指南针。
我遇到了同样的问题。
在第 78 行的 node_modules\gulp-compass\lib\compass.js 中,一切都出错了:
options.push(opts.project.replace(/\/g, '/'));
不知何故,当我注释掉这一行时,就没有更多的错误了。将 \ 替换为 / 不知何故会导致路径 Program Files 中的空格失败。
这是第 76 到 81 行:
options.push(opts.task);
if (process.platform === 'win32') {
// options.push(opts.project.replace(/\/g, '/')); // <-- this line causes the error
} else {
options.push(opts.project);
}
所以,这暂时解决了问题。
但应该有更好的方法来解决这个问题(至少在 node_modules 文件夹之外)。
我是第一次使用 compass/susy,我想使用 liveReload 来避免重新加载。
我在安装 compass 之后安装了 gulp-compass,但显然它返回的是不带引号的 src 文件路径。
这是我的 gulpfile.js:
var gulp = require('gulp'),
compass = require('gulp-compass');
// Compass
gulp.task('compass', function () {
gulp.src('sass/*.sass')
.pipe(compass({
config_file: './config.rb',
css: 'css',
sass: 'sass',
require: ['susy']
}))
.on('error', console.error.bind(console))
.pipe(gulp.dest('temp/'));
});
并且 returns 出现以下错误:
Starting 'compass'...
'E:\Program' not recognizes as a internal or external command [...]
{ [Error: Compass failed]
message: 'Compass failed',
fileName: 'E:\Program Files\wamp\[...]\style.sass',
showStack: false,
showProperties: true,
plugin: 'gulp-compass',
__safety: { toString: [Function] } }
所以我收集到的是源文件的路径(在我的 windows 中,位于 "E:\Program Files[...]" 内)在不带引号的情况下返回,使第一个空白字符看起来像结尾的路径,对吗?
如何将其放在引号内?我正在做所有这些工作,顺便说一下,我可以使用 gulp 和指南针。
我遇到了同样的问题。
在第 78 行的 node_modules\gulp-compass\lib\compass.js 中,一切都出错了:
options.push(opts.project.replace(/\/g, '/'));
不知何故,当我注释掉这一行时,就没有更多的错误了。将 \ 替换为 / 不知何故会导致路径 Program Files 中的空格失败。 这是第 76 到 81 行:
options.push(opts.task);
if (process.platform === 'win32') {
// options.push(opts.project.replace(/\/g, '/')); // <-- this line causes the error
} else {
options.push(opts.project);
}
所以,这暂时解决了问题。
但应该有更好的方法来解决这个问题(至少在 node_modules 文件夹之外)。