3

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

我尝试像这样使用rhino-jshint

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

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

我曾希望options.js在命令行上将文件作为参数传递,然后保持options.js在版本控制之下。但我认为这对于 jshint-rhino.js 是不可能的。

此外,我们在保存所有 JavaScript 文件时使用Visual Studio 扩展来“JSHint”它们。但是这个工具不能在命令行上运行。我们想要两全其美 - 在 Visual Studio 中运行 JSHint 并为 CI 构建自动化,然后不复制选项(并且确实将选项保持在版本控制之下)。

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

4

3 回答 3

3

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

https://github.com/jamietre/SharpLinter

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

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

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

于 2013-04-11T10:14:26.877 回答
2

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

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

于 2012-02-22T13:31:57.583 回答