我正在尝试通过 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/