繁体   English   中英

将命令行 arguments 传递到 V8 中的脚本 Javascript shell

[英]Pass command-line arguments to script in V8 Javascript shell

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

  • 我使用这些说明下载并构建了 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() function 来获取命令行 arguments。 是否有人修改此脚本以在 V8 中工作,或者是否有通用方法让 V8 将 arguments 传递给它?

更新: Steve 的回答提醒我,我确实找到了一种将JSLint 编译成可执行文件的方法,就像 Steve 所做的那样,但我希望其他开发人员能够更方便地移植一些东西。

d8 shell 允许您在命令行上通过“--”来传递 arguments。 即,在您的情况下:

  d8 jslint.js -- myfile.js

'--' 之后的所有内容都将被读取为逐字字符串,因此所有其他标志必须在此之前为 go。 命令行 arguments 将作为一个名为“arguments”的全局变量提供给脚本,其中包含一个字符串数组。

(您可以使用同义词“--js-arguments”来代替“--”)。

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

命令行应用程序将 JSLint 直接编译成二进制文件。 支持所有 JSlint 选项。 可以检查多个源文件以及来自标准输入的输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM