首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗口上的罗盘fileName误差

窗口上的罗盘fileName误差
EN

Stack Overflow用户
提问于 2015-01-20 17:39:40
回答 1查看 270关注 0票数 2

我第一次使用指南针/苏西,并且希望使用liveReload来保持重新加载的能力。

我在安装罗盘后安装了罗盘,但很明显,它返回的是src文件路径,没有引号。

这是我的gulpfile.js:

代码语言:javascript
复制
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/'));
});

并返回以下错误:

代码语言:javascript
复制
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] } }

因此,我收集到的是源文件的路径(在我的窗口中,它位于"E:\Program .“内)是否返回时没有引号,使得第一个空白字符看起来像是路径的末尾,对吗?

我该怎么说里面的引号?我正在做这些工作,顺便说一句,我可以用指南针喝一口。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 08:00:44

我也面临着同样的问题。

在第78行的node_modules\ goes \lib\compass.js中,这一切都出错了:

代码语言:javascript
复制
options.push(opts.project.replace(/\\/g, '/'));

不知何故,当我注释掉这一行时,就不会再有错误了。用/somehow替换\将导致路径程序文件中的空格失败。以下是第76至81行:

代码语言:javascript
复制
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文件夹之外)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28051764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档