Laravel 拉维长生不老药-吞咽手表直到终端获得焦点才结束

Laravel 拉维长生不老药-吞咽手表直到终端获得焦点才结束,laravel,gulp,focus,watch,laravel-elixir,Laravel,Gulp,Focus,Watch,Laravel Elixir,我正在使用Laravel Elix和Gulp(在Windows 8上)组合并编译我的Angular.js和SCSS文件。请参阅下面的代码: var elixir = require('laravel-elixir'); require('./tasks/angular.task.js'); require('./tasks/bower.task.js'); require('laravel-elixir-livereload'); elixir.config.js.outputFolder =

我正在使用Laravel Elix和Gulp(在Windows 8上)组合并编译我的
Angular.js
SCSS
文件。请参阅下面的代码:

var elixir = require('laravel-elixir');
require('./tasks/angular.task.js');
require('./tasks/bower.task.js');
require('laravel-elixir-livereload');

elixir.config.js.outputFolder = 'public/js/';

elixir(function(mix){
     mix
        .sass('app.scss')
        .bower()
        .angular('resources/assets/angular/');
});
问题是,当我运行
gulpwatch
时,组合的
all.js
文件将不会更新,直到我单击终端窗口(给它焦点)。这表明大口大口的人已经完成了任务:

[13:26:45] Finished 'angular in resources/assets/angular/' after 26 ms

在阅读了之前的评论后,我认为如果愿意,仍然有一个解决方案可以使用:

转到“同步”部分下的“系统设置”,可以在应用程序空闲时设置文件在计时器上保存

这样,您可以在键入时按预期运行watcher


您确定是在完成时,还是在终端窗口更新时?因为处理它所花费的时间(26毫秒)看起来不错。您使用的是默认的
cmd
,还是其他替代方法,如cmder、Console2等?我也尝试等待30-40秒,但
all.js
仅在单击终端窗口后立即更新。我使用的是标准windows
cmd
。所谓“更新”是指将文件写入磁盘还是在浏览器中更新文件?(我看到你在使用LiveReload)。很抱歉,我不清楚这一点,我的意思是将文件写入磁盘。在我点击终端窗口之前,它“感觉”就像一直留在内存中。我现在将删除所有节点模块,并尝试重新安装,看看是否有帮助。我会把结果贴在这里。因此,我做了一些进一步的测试,似乎它确实将文件写入磁盘。只有我的IDE(PhpStorm)才会更新文件的表示形式,直到我模糊IDE,然后将焦点放回它(因此我认为终端上的焦点是更新文件的原因)。这个问题现在似乎毫无意义,我是否应该删除它?