Twitter bootstrap 3 大口喝WinSCP-利弗雷洛德和更少

Twitter bootstrap 3 大口喝WinSCP-利弗雷洛德和更少,twitter-bootstrap-3,gulp,winscp,gulp-less,gulp-livereload,Twitter Bootstrap 3,Gulp,Winscp,Gulp Less,Gulp Livereload,我在远程服务器上使用gulp与livereload、less等一起使用。我曾经多次成功地使用过gulp,从未经历过这种情况 我正在使用WinSCP保存/编辑文件(我双击该文件,它会以升华文本打开…我保存它,WinSCP会自动将其上传回服务器) 然而,这样做时,几乎总是失败的。我有两个编译的核心CSS文件-一个是引导文件,另一个是我自己的-它们都应该在修改后使用自己的gulp任务进行编译-但是引导每次都失败,而另一个文件大约有一半的时间失败 当我说失败时,我的意思是——使用Bootstrap时,我

我在远程服务器上使用gulp与
livereload
less
等一起使用。我曾经多次成功地使用过gulp,从未经历过这种情况

我正在使用WinSCP保存/编辑文件(我双击该文件,它会以升华文本打开…我保存它,WinSCP会自动将其上传回服务器)

然而,这样做时,几乎总是失败的。我有两个编译的核心CSS文件-一个是引导文件,另一个是我自己的-它们都应该在修改后使用自己的gulp任务进行编译-但是引导每次都失败,而另一个文件大约有一半的时间失败

当我说失败时,我的意思是——使用Bootstrap时,我总是得到相同的错误:

    variable @grid-columns is undefined in file ....grid.less line no. 48
即使我将
@grid columns
定义为主引导“import”文件中的第一个标题,也会发生这种情况

另一个失败的原因是
livereload
在编译更少的文件之前的某个点重新加载已编译的CSS。这应该是不可能的,但它是以某种方式发生的

但是,当我在SSH命令提示符下键入
touch myfile.less
touch anybootstrapfile.less
时,一切都正常工作


很明显,这很烦人,但很适合居住。我想一定有办法解决它。有什么想法可以让这一切发生吗?我可以做些什么(如果有的话)来修复它?

很可能,当WinSCP在内部编辑器中保存文件后上载文件时,它会将上载文件的时间戳设置为比以前旧

如果您使用的是FTP协议或Windows Vista或更早版本,则这种情况可能尤其如此

有关详细信息,请参阅WinSCP常见问题解答:

好的。在Martin的帮助下,我现在意识到他是WinScp的开发者,我已经解决了这个问题。我一直在使用
gulp.wait
插件,并在最后一次重新加载之前插入一个暂停,但它不起作用

因为…那不是问题所在。问题发生在上传时;因为文件很快就“接触”到了(或者有一些带有时间戳的东西最终导致了函数等价)

因此,我将等待进程移动到调用less进程之前,如下所示:

gulp.src(src)
.pipe(plumber({
  errorHandler:onError
})
.pipe(wait(500))
.pipe(less())
//etc
我要做一个实验,500毫秒可能比需要的时间长,但不会太长而让人痛苦。这立刻解决了问题


谢谢你,马丁

这几乎肯定是正确的答案。我想知道能做些什么来解决这个问题。这给了我所需要的,但是任何想看到解决方案的人,请看下面。