2

有谁知道我如何将 Watchify 的输出通过管道传输到 eslint - 并让它在 CLI 中报告 linting 问题,同时仍然构建输出的 JS?

Watchify声明您可以使用-o.

watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'

Eslint说您可以使用该--stdin标志从标准输入读取。

因此,有了这些知识,我正在使用以下命令:

watchify main.js -o 'eslint --stdin > static/bundle.js'

这实际上是将 eslint 警告输出到static/bundle.js. 我仍然希望它向 CLI 报告,但在 linting 通过时构建 JS。那可能吗?

我只是在寻找直接使用模块的 CLI 解决方案。我不打算使用 Gulp/Grunt 或同等产品。

4

1 回答 1

0

不幸的是,Watchify 要求您指定一个输出文件,这意味着您将无法--stdin从 eslint 流式传输/管道标志来监视输出。

为了使用该--stdin标志,输入必须是先前命令的形式,该命令导致输出到 shell 的stdout. 然后 eslint 将获取该数据并对其进行 lint 处理,仅将 eslint 命令的输出发送到系统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'
于 2015-05-07T18:18:07.693 回答