将命令行参数传递给V8 Javascript shell中的脚本

时间:2011-08-15 21:12:24

标签: javascript v8 jslint

我正在尝试通过V8运行JSLint。

  • 我使用these instructions下载并构建了V8 shell。
  • 交互式shell d8正常工作,并将文件传递给它执行该文件。

现在我想执行jslint.js并传递文件名来解析它。我试过了

d8 jslint.js myfile.js
d8 jslint.js < myfile.js
d8 jslint.js -- myfile.js

毫无疑问,jslint.js结尾的麻烦行使用Rhino readline()函数来获取命令行参数。有没有人修改过这个脚本才能在V8中工作,或者有一种通用的方法让V8传递参数吗?

更新:史蒂夫的回答提醒我,我确实找到了compile JSLint into an executable的方式,就像史蒂夫所做的那样,但我希望能为其他开发者提供更便携的东西。

2 个答案:

答案 0 :(得分:3)

d8 shell允许您在命令行上传递参数,方法是在前面加上“ - ”。 即,在你的情况下:

  d8 jslint.js -- myfile.js

' - '后的翻转将被读作逐字字符串,因此所有其他标志必须在此之前。 命令行参数将作为一个名为“arguments”的全局变量提供给脚本。

(而不是' - '你可以使用同义词'--js-arguments')。

答案 1 :(得分:2)

您可以查看我在http://blog.stevenreid.co.uk/2011/06/27/jslint-command-line-tool-powered-by-v8/使用v8运行JSLint的尝试。

命令行应用程序将JSLint直接编译为二进制文件。支持所有JSlint选项。可以打印多个源文件以及从stdin输入。