我想在我的所有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 extension到'JSHint'。但是这个工具不能在命令行上运行。我们想要两全其美 - 在Visual Studio中运行JSHint和在CI构建中运行Automated,然后不重复选项(并确实在版本控制下保留选项)。
所以问题是,其他人如何在开发过程中自动化JSHint?
答案 0 :(得分: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
答案 1 :(得分:2)
由于您基本上想要在TFS 2010构建过程中使用命令行活动,因此它实际上非常简单。您需要在要运行该工具的位置添加InvokeProcess
工作流程活动(see MSDN documentation)。
实际上有一个walkthrough可用于使用不同的命令行实用程序执行此操作,但您只需将其替换为您自己的实用程序。工作流活动甚至允许您指定一组可以传入的命令行参数。
答案 2 :(得分:0)