【发布时间】:2016-06-03 22:38:36
【问题描述】:
我正在使用 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/');
});
问题是当我运行gulp watch 时,组合的all.js 文件在我单击终端窗口(给它焦点)之前不会更新。说明 gulp 已经完成了任务:
[13:26:45] Finished 'angular in resources/assets/angular/' after 26 ms
【问题讨论】:
-
你确定那是它完成的时候,还是只是终端窗口更新的时候?因为处理它所花费的时间(26 毫秒)看起来不错。您是使用默认的
cmd,还是使用其他替代方法,例如cmder、Console2 等? -
我也尝试等待 30-40 秒,但
all.js仅在我单击终端窗口后立即更新。我正在使用标准窗口cmd。 -
“更新”是指将文件写入磁盘或在浏览器中更新文件? (我看到你正在使用 LiveReload)。
-
抱歉不清楚,我的意思是把文件写入磁盘。它“感觉”就像它留在内存中,直到我点击终端窗口。我现在将删除所有节点模块并尝试全新安装,看看是否有帮助。我会在这里发布结果。
-
好的。所以我做了一些进一步的测试,它似乎确实将文件写入磁盘。只有我的 IDE (PhpStorm) 不会更新其文件的表示,直到我模糊 IDE 然后重新关注它(因此我认为终端上的焦点是更新文件的原因)。这个问题现在似乎毫无意义,我是否应该删除它?
标签: laravel gulp focus watch laravel-elixir