Fswatch + NG CLI:在Mac上为“ ng build”循环

时间:2018-07-18 14:34:12

标签: angular macos fswatch

我正在尝试使用fswatch在Mac OS上进行更改时构建Angular6库。可以检测到更改,并且生成运行正常,但是生成本身会触发事件,从而导致生成连续循环,即使我没有监视输出目录,也仅监视src目录。

我正在使用此命令(在我的NG6 proj根目录中):

  

$ fswatch ./projects/my-lib/src/ | xargs -I {} ng构建my-lib

更改单个文件后,ng构建将连续循环运行。当我打印出详细事件时,虽然不确定前一行是罪魁祸首,但我会在构建的中间看到事件。我不确定ng构建为何触发fswatch。输出如下:

  

$ fswatch -x -v ./projects/my-lib/src/ | xargs -I {} ng构建my-lib

     

register_signal_handlers:SIGTERM处理程序已注册。

     

register_signal_handlers:已注册SIGABRT处理程序。

     

register_signal_handlers:已注册SIGINT处理程序

     

start_monitor:添加路径:/ [我的路径] / my-proj / projects / my-lib / src

     

运行:正在创建FSEvent流...

     

run:使用run loop调度流...

     

运行:正在启动事件流...

     

run:正在开始运行循环...

     

notify_events:通知事件#:1。

     

构建Angular包

     

建筑入口点'@ mygroup / my-lib'

     

渲染样式表

     

编译渲染模板

     

通过ngc的TypeScript来源

     

notify_events:通知事件#:1. <<<构建期间的事件

     

捆绑到FESM2015

     

捆绑到FESM5捆绑到UMD

     

notify_events:通知事件#:1. <<<构建期间的事件

我还尝试使用以下命令过滤仅更新的事件,但它还会循环:

  

.fswatch -m fsevents_monitor -x -v --event已更新./projects/my-lib/src/ | xargs -I {} ng构建my-lib

有什么想法可以阻止ng构建循环吗?

0 个答案:

没有答案