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

标签 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的方法就像史蒂夫所做的那样,但我希望有一些东西对于其他开发人员来说更便携。

最佳答案

d8 shell 允许您在命令行上通过在参数前面添加“--”来传递参数。 即,就您而言:

  d8 jslint.js -- myfile.js

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

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

关于javascript - 将命令行参数传递给 V8 Javascript shell 中的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7070906/

相关文章:

javascript - FabricJS如何重新添加字符串化的json对象(反序列化)

r - 如何使用 rvest 在 R 中抓取这个网站?

javascript - 如何避免这种邪恶评估的情况?

javascript - 无法禁用 Webstorm 检查 - "Unresolved variable of type"

javascript - 如何迭代关联数组并以 JSLint 方式删除一些元素(JavaScript,node.js 4.2.3)

javascript - 如何搜索和过滤大型数据集(JSON/AngularJS)

javascript - 防止 IE11 在 Angular 2 中缓存 GET 调用

javascript - 在谷歌地图多边形数组上设置点击优先级

c++ - 在 V8 中,为什么 Isolate::GetCurrent() 返回 NULL?

javascript - Undersore 的 _.now 如何运作?