Node调试之道-----JSHint

  Node的优势我就不再乱吹捧了,它让javascript统一web的前后台成为了可能。但是对于新手来说,server端的JS代码可能不像client端的代码那么好调试,直观。client端JS代码的调试基本上经历了一个从“肉眼--alert()--firebug(或者其它的developer tools)”的一个过程。而对于server端的调试,可能新手仍然停留在使用“肉眼--console()”的阶段。其实,Node经过了这么多年(虽然才短短几年)的发展,也有了很多不错的第三方的调试工具。包括Node内建的调试工具debugger、node-inspector等。现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。

  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端)地方的JS代码的规范性。它提供了配置的方法,从而让开发者自己来定义检查哪些规范上的错误。这就给开发者带来了很大的便利性,因为在开发过程中,尤其是在团队开发过程中会经常遇到各种各样因不符合规范而带来的问题,或者一些常见的文本错误,如使用未定义的函数或者参数等。

  1、安装JSHint。

  打开cmd命令窗口,输入以下命令:

  

npm install -g jshint  //-g的意思是全局使用

  注:如果提示npm不是内部或者外部命令,那么多半是你没有安装node或者npm。具体安装过程请参考http://dailyjs.com/2012/05/03/windows-and-node-1/。

  2、运行JSHint。

  打开cmd命令窗口,使用cd切换到你对应的应用目录下,输入一下命令:

jshint my_app.js

  注:my_app.js即是你打算校验或者检查的文件。

  3、配置JSHint。

  JSHint提供了配置的方法,使你可以根据自己团队或者爱好来定义检查校验的规则。可以到https://github.com/jshint/node-jshint/blob/master/.jshintrc复制默认的规则文件。

  方法一:如果你将复制来的规则文件命名为.jshintrc的文件,并且将文件放在对应目录或者父目录下,那么在运行JSHint的时候,会自动检索并使用此规则文件。

  方法二:如果你并没有将规则文件命名为符合规则的名字(即用.jshintrc),那么可以在运行JSHint的时候手动指定规则文件,例如你将规则文件命名为jshint.json。那么可以使用一下命令来运行JSHint并应用你的规则:

  

jshint my_app.js --config /root/application/jshint.json  //指定规则文件路径

  4、配置文件的规则。

  配置文件的规则由很多,包括常见的分号使用与否、class构造器函数首字母大写等。具体的规则不再一一赘述,请参考http://www.jshint.com/docs/。

  通过使用JSHint这一工具,会将你JS代码中很多常见的错误或者不小心搞错的代码检查出来。当然,JSHint不会强大到检查出你所有的错误。不过不用担心,还有另外几个可以为Node所用的调试工具,这次就仅仅介绍一下JSHint。

  以上是本人的一点愚见,如有错误,敬请指出。欢迎交流讨论。

Node调试之道-----JSHint的更多相关文章

  1. <读书笔记>软件调试之道 :从大局看调试-理想的调试环境

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...

  2. <读书笔记>软件调试之道 :从大局看调试-零容忍策略

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...

  3. <读书笔记>软件调试之道 :从大局看调试-发现代码存在问题

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...

  4. <读书笔记>软件调试之道 :问题的核心-修复后的反思

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...

  5. <读书笔记>软件调试之道 :问题的核心-如何修复缺陷

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! 修复缺陷 对于一个好的修复来说,不仅仅是让软件运行正确,还需要为将来奠定基础.一 ...

  6. <读书笔记>软件调试之道 :问题的核心-诊断

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记. 不要急于动手! 尽管可以利用各种工具和技术以及软件自身查找缺陷,但是你最重要的财富是你的智 ...

  7. <读书笔记>软件调试之道 :问题的核心-重现问题

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记. 重现第一,提问第二 问题重现是实证过程的最强大武器,如果不能重现问题,你也无法证明修复了它 ...

  8. node 调试相关

    #0 node 正确的书写方式 为了防止后面出现混乱的各种书写,先来了解一下如何正确书写 node 的名称. 下面使用来自@bitandbang 推文中的图片展示如何正确书写 node 名称. nod ...

  9. node调试的两种方法

    刚开始学node.js的时候,一直在用node-inspector,虽然很麻烦,但聊胜于无.后面公司牛人推荐使用node-webkit,就再也没用过node-inspector.再后来node.js版 ...

随机推荐

  1. Linux跨用户copy文件

    foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录.Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root ...

  2. Physx入门

    [疑问] 1.Physx中的场景有大小的概念么?如果有大小,那么场景中的刚体超出场景边界之后, 如何定义之后的行为. 2.如何给一个刚体增加动量?目前的接口只看到设置速度或者增加作用力.

  3. MYSQL常见错误及其解决方式

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  4. Source Insight简介及下载破解

    对于长期混迹于.net平台的开发人员来说,研究C源码不是很常见,但是有时候我们不得不涉及c的研究,因为许多优秀的开源软件是用C/C++写就.查看C源码的利器除了VS外,还有另一个,那就是Source ...

  5. dedecms最新版本修改任意管理员漏洞+getshell+exp

    此漏洞无视gpc转义,过80sec注入防御. 补充下,不用担心后台找不到.这只是一个demo,都能修改任意数据库了,还怕拿不到SHELL? 起因是全局变量$GLOBALS可以被任意修改,随便看了下,漏 ...

  6. GDI+一般性错误(A generic error occurred in GDI+)

    1.GDI+的前世今生 GDI+全称图形设备接口,Graphics Device Interface (GDI) ,他的爸爸叫做GDI, 用C写的.Windows XP出来以后用C++重新写了一下,变 ...

  7. Rhel6-vpn配置文档

    系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.160 server60.example.com 192.168.12 ...

  8. NSURLCache 和 NSCache 的区别

    NSURLCache 和 NSCache 的区别 NSURLCache提供的是URL Request缓存,可以在Memory和Disk上:NSCache提供了HTTP Request外的东西的缓存方式 ...

  9. const 放在函数后

    const 放在函数后表示这个函数是常成员函数, 常成员函数是不能改变成员变量值的函数.const 限定符,它把一个对象转换成一个常量.举例:为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数 ...

  10. css盒子模型层级3D图

    作为前端开发工程师,大家都应该知道盒子模型.下面用一张图来表达3D盒子模型的层级关系 大家可以看到background-color 在background-image的下一层.这个希望对大家有帮助