在服务器端运行gulp.watch会导致更改的文件在结果中丢失

弗雷泽

我使用Gulp(3.8.11)渲染SASS和JavaScript。它在Apache2,PHP和MySQL旁边的Ubuntu 14.04.2 LTS上在服务器端运行。

每次更改文件时(使用Sublime Text 2通过SSHFS远程地),gulp.watch都会启动指定的任务。但是,结果是丢失更改的文件的可能性为50%(对于SASS和JS任务)。

当我手动运行gulp(不使用gulp.watch)时,我得到了预期的结果。在本地运行同一个项目的gulp.watch,一切正常。

没有错误消息,只是一个不完整的呈现JS或CSS文件,在浏览器中看起来很棒。真令人沮丧

编辑:更改监视任务后,解决了该问题。

var path = {
    js: [
        'src/js/*.js',
        'src/js/*/*.js',
        'src/js/*/*/*.js'
    ],
    sass: [
        'src/sass/reset.scss',
        'src/sass/constant.scss',
        'src/sass/base.scss',
        'src/sass/*.scss'
    ]
};

gulp.task('watch', function() {
    livereload.listen();

    gulp.watch(path.js, function() {
        setTimeout(function () {
            gulp.start('js');
        }, 100);
    });

    gulp.watch(path.sass, function() {
        setTimeout(function () {
            gulp.start('sass');
        }, 100);
    });
});
蒂埃里·尼古拉(Thierry Nicola)

SSHFS的写延迟。

因此,您可能需要将代码执行包装在超时中,以解决此问题。

编辑:如Null Pointer异常所评论,我澄清我的答案:

通过SSHFS,文件的实际内容存在写入延迟。因此,在实际将内容写入服务器上的文件之前,可能会触发监视。因此,更改可能不会包含在任务的运行中。

要解决此延迟,gulp任务中的超时可能会增加内容写入文件后执行任务的机会。

更多详细信息请参见https://github.com/floatdrop/gulp-watch/issues/22

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在共享服务器服务中运行服务器端Javascript?

来自分类Dev

更改提示服务器端

来自分类Dev

服务器端文件验证

来自分类Dev

如何在oracle中显示从服务器端运行的过程的结果?

来自分类Dev

无法在服务器中运行asp.net Core,Angular 2,服务器端渲染项目

来自分类Dev

如何在Firebase中运行服务器端代码?

来自分类Dev

@code中的代码在哪里在blazor服务器端运行?

来自分类Dev

在Meteor中创建服务器端文件

来自分类Dev

Socket.io在服务器端丢失数据

来自分类Dev

服务器端分页,但以丢失排序为代价

来自分类Dev

如何在Rails应用程序中运行服务器端Faye客户端?

来自分类Dev

Blazor服务器端oninput事件导致错误

来自分类Dev

服务器端通话期间方向更改

来自分类Dev

实施添加,更改和删除的服务器端

来自分类Dev

服务器端通话期间方向更改

来自分类Dev

如何在服务器端更改字体?

来自分类Dev

从服务器端更改selectinput的边框颜色

来自分类Dev

从服务器端文件馈送FileReader

来自分类Dev

服务器端无法捕获附加formdata文件

来自分类Dev

从JavaScript检查服务器端文件的存在

来自分类Dev

服务器端资源文件加载

来自分类Dev

服务器端未显示多个文件

来自分类Dev

在Android中从signalR调用服务器端函数

来自分类Dev

ios中推送通知的服务器端问题

来自分类Dev

在jQuery中访问服务器端的数组

来自分类Dev

NodeJS中requestAnimationFrame()的服务器端实现

来自分类Dev

C#中的服务器端Javascript警报

来自分类Dev

处理流星中的长服务器端计算

来自分类Dev

Azure(MS SQL)中的服务器端分页