首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grunt-contrib-watch不适用于eslint,无法仅监视已更改的文件集

grunt-contrib-watch不适用于eslint,无法仅监视已更改的文件集
EN

Stack Overflow用户
提问于 2015-06-28 06:10:20
回答 1查看 531关注 0票数 5

我似乎无法使用grunt-contrib watch让ESLint只在更改过的文件上运行。

我可以用JSHint做到这一点。

如果能帮助ESLint做同样的事情,我们将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-03-31 16:57:57

前几天我成功地设置了这个,所以我将发布一个可能的解决方案。

无论您是尝试使用grunt.config还是<%= ... %>模板来动态修改配置对象(以在任务之间共享数据),您的问题可能是watch,默认情况下,spawns child processes用于触发的任务,使eslint在不同的上下文中运行。

要解决此问题,只需在配置spawn:false watch**.**时使用选项标志即可

基本上,将您的任务配置为:

代码语言:javascript
复制
watch: {
  scripts: {
    files: ['**/*.js'],
    tasks: ['eslint'],
    options: {
      spawn: false, // !!!
    },
  },
},
eslint: {
  target: '<%= changedFiles %>'
}

然后将事件处理程序附加到监视事件,并设置changedFiles

代码语言:javascript
复制
grunt.event.on('watch', function(action, filepath){
  grunt.config('changedFiles', filepath);
}

您也可以直接在事件处理程序中修改eslint.target,但是让一个包含已更改文件的属性使其可用于可能使用这些文件的任意数量的任务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31094037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档