有谁知道我如何将Watchify的输出管道传输到eslint - 并且在构建输出的JS时让它在CLI中报告linting问题?
Watchify表示您可以使用-o
管道输入命令。
watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'
Eslint表示您可以使用--stdin
标志从标准输入读取。
因此,凭借这些知识,我使用以下命令:
watchify main.js -o 'eslint --stdin > static/bundle.js'
这实际上做的是向static/bundle.js
输出eslint警告。
我仍然喜欢向CLI报告,但在linting传递时构建JS。这可能吗?
我正在寻找直接使用这些模块的CLI解决方案。我不打算使用Gulp / Grunt或同等产品。
答案 0 :(得分:0)
遗憾的是,Watchify要求您指定一个输出文件,这意味着您将无法从eslint流式传输/管道--stdin
标志以监视输出。
为了使用--stdin
标志,输入必须采用前一个命令的形式,导致输出到shell的stdout
。然后,eslint将获取该数据,并将其仅仅发送到eslint命令的输出lint到系统stdout
...这就是当eslint响应任何问题或成功时所看到的。
由于watchify正在捆绑您的源文件,因此首先提示lint可能更好,然后然后执行watchify。或者,您可以同时执行这两项操作。以下是各自的例子:
首先eslint:
eslint /path/to/src && watchify watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'
<强>同时强>
eslint /path/to/src & watchify watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'