Ⅰ. 插件描述
DEPRECATED: Please use an alternative like ESLint instead: https://github.com/eslint/eslint. Thanks.Ⅱ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'tav/nodelint'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'tav/nodelint'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'tav/nodelint'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/tav/nodelint
Ⅳ. 文档说明
nodelint
- [Node.js] is a [V8] based framework for writing Javascript applications outside
the browser. - [JSLint] is a code quality tool that checks for problems in Javascript programs.
- nodelint lets you run JSLint from the command line.
- nodelint currently supports node version 0.4.x and tested with 0.5.9 so should run on 0.6.x
installation
npm:
$ npm install nodelint
If you clone nodelint from Github, you should init JSLint submodule:
$ git submodule update --init
usage
You can use nodelint directly if you have node in your $PATH,
or if you installed it using npm -g:
$ nodelint path/to/your/file.js
Otherwise, you need to run it with node:
$ node path/to/nodelint path/to/your/file.js
You can also specify a directory param and nodelint will find all .js files under that directory and its subdirectories:
$ node path/to/nodelint dir1/ dir2/
Enjoy!
configuration
You can override default JSLint options by passing config file with the optional --config parameter:
$ nodelint file1 file2 dir1 dir2 --config path/to/your/config/file.js
For example, if the default config.js has:
var options = {
adsafe : false,
bitwise : true,
...
"predef" : []
};
And your own path/to/your/config/file.js looks like:
var options = {
bitwise : false,
browser : false
};
Then the final options used will be:
var options = {
adsafe : false,
bitwise : false,
browser : false,
...
"predef" : []
};
Take a look at [JSLint's options] to see what to put in the options variable.
You can also add your configuration inside the JS files itself:
JSLint will use this one instead of the global one.
Simply add some comments at the beginning of the file.
Note that there is no space between / and global and between / and jslint:
// define your global objects:
/*global YUI, JQuery */
// define your jslint-options:
/*jslint white: true, onevar: true, undef: true, nomen: true */
reporters
By default nodelint uses an internal reporter to output it's results to the console.
There may be times when a more customizable reporting system might be needed
(i.e. IDE/Text Editor integrations or customized console outputs).
nodelint allows you to designate a custom reporter for outputting the results
from JSLint's run. This reporter will override the default one
built into nodelint. To utilize a custom reporter first create a js file that
exports reporter function:
example-reporter.js:
var util = require('util');
function report(results) {
var len = results.length;
util.puts(len + ' error' + ((len === 1) ? '' : 's'));
}
exports.report = report;
Then when you run nodelint from the command line, pass in the customized
reporter:
$ ./nodelint path/to/file.js --reporter path/to/file/example-reporter.js
For brevity sake, this is a fairly simple reporter.
nodelint includes some build-in reportes for VIM, Textmate and JetBrains IDEA integration.
Also it include XML reporter, that produces reports which can
also be integrated with a Continuous Integration server like [Hudson] using the
[Violations Plugin].
Please see the wiki for integration with various editors.
contribute
To contribute any patches, simply fork this repository using GitHub and send a
pull request to me <http://github.com/tav>. Thanks!
credits
- [tav], wrote nodelint
- Felix Geisendörfer, clarified Node.js specific details
- [Douglas Crockford], wrote the original JSLint and rhino.js runner
- Nathan Landis, updated nodelint to Node's new API.
- Oleg Efimov, added support for overridable configurations, running
nodelint from a symlink and updates to reflect Node.js API changes. - Matthew Kitt, added support for configurable reporters, various code
cleanups and improvements including updates to reflect Node.js API changes. - [Corey Hart], updated nodelint with multiple files and config support.
- Mamading Ceesay, added support for using nodelint within Emacs.
- Matt Ranney, updated nodelint to use sys.error.
- [Cliffano Subagio], added npm installation support, XML reporter, and directory param support.
- [Clemens Akens], updated to latest JSLint from Crockford repo
- [Paul Armstrong], updates to reflect Node.js and npm API changes