Twitter bootstrap 3 大口喝WinSCP-利弗雷洛德和更少
我在远程服务器上使用gulp与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时,我
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毫秒可能比需要的时间长,但不会太长而让人痛苦。这立刻解决了问题
谢谢你,马丁 这几乎肯定是正确的答案。我想知道能做些什么来解决这个问题。这给了我所需要的,但是任何想看到解决方案的人,请看下面。