如何将jshint作为构建过程的一部分进行自动化

How to automate jshint as part of build process?

本文关键字:一部分 自动化 过程 构建 jshint      更新时间:2023-09-26

我想在我的所有javascript文件上自动运行JSHINT,作为我们持续集成环境的一部分(实际上,可能是TFS Gated Checkin的一部分,但我还不确定,因为这取决于速度)。

我试着使用rhino-jhint,如下所示:

java -jar js.jar jshint-rhino.js myFile.js

但是如何设置所需的JSHint选项?我知道我可以在myfile.js顶部的注释中列出它们,但我有很多javascript文件,我不希望所有源文件中都有重复的选项。(或者JavaScript是否有我不知道的"包含"功能?)

我曾希望在命令行中传递一个options.js文件作为参数,然后将options.js置于版本控制之下。但我认为jshint-hino.js不可能做到这一点。

此外,我们在保存所有JavaScript文件时使用Visual studio扩展名"JSHint"。但是这个工具不能在命令行上运行。我们希望两全其美——在Visual Studio中运行JSHint,并为CI构建运行Automated,然后不复制选项(实际上,将选项置于版本控制之下)。

所以问题是,其他人如何在他们的开发过程中自动化JSHint?

如果你想在运行TFS构建时检查你的Javascript,我建议你看看sharplinter:

https://github.com/jamietre/SharpLinter

它包含一个可执行文件,允许您使用JSLint/JSHint检查Javascript文件。要在TFS构建期间运行此操作,您可以创建一个代码活动,该代码活动可以包含在您的工作流中。

Marcel de Vries在Techdays 2012发布的这段视频一步一步地介绍了自动化构建过程,并演示了如何包含您的自定义活动。

http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2361

由于您本质上想要在TFS 2010构建过程中使用命令行活动,因此它实际上非常简单。您需要在运行该工具时添加一个InvokeProcess工作流活动(请参阅MSDN文档)。

实际上,有一个演练可用于了解如何使用不同的命令行实用程序来完成此操作,但您只需将其替换为自己的实用程序。工作流活动甚至允许您指定一组可以传入的命令行参数。

看看两者http://gitcasette.com/和http://net.tutsplus.com/tutorials/javascript-ajax/meeting-grunt-the-build-tool-for-javascript/