2011-08-15 159 views
2

我试图通过V8运行JSLint。将命令行参数传递给V8中的脚本JavaScript shell

  • 我使用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的,它使用的犀牛readline()函数来获取命令行参数的结尾麻烦线。有没有人修改过这个脚本在V8中工作,或者有没有一种通用的方式让V8向它传递参数?

更新:史蒂夫的答案提醒我,我没有找到一个方法来compile JSLint into an executable就像史蒂夫做到了,但我希望的东西,这是对其他开发商小更便携。

回答

3

d8 shell允许您在命令行上通过前缀' - '来传递参数。 即,你的情况:后

d8 jslint.js -- myfile.js 

寄托都“ - ”会被读作逐字字符串,因此所有其他标志必须在这之前去。 命令行参数将作为一个名为“arguments”的全局变量提供给脚本,后者包含一串字符串。 (而不是' - ',你可以使用同义的' - js-arguments')。

+0

这是[broken](http://code.google.com/p/v8/issues/detail?id=1477)一段时间,但再次修复。 –

2

你可能会看看我尝试使用v8在http://blog.stevenreid.co.uk/2011/06/27/jslint-command-line-tool-powered-by-v8/上运行JSLint。

命令行应用程序将JSLint直接编译到二进制文件中。所有JSlint选项都受支持。可以创建多个源文件以及来自stdin的输入。

+0

谢谢,我会给它一个镜头。 –

+0

我无法构建FOX。 'make'命令死亡,说它找不到'-lXext','-lGL'和'-lGLU'。有任何想法吗? –

+0

即使构建失败,您也应该希望现在有'reswrap'可执行文件。这就是所需要的。 – Steve

相关问题