【发布时间】:2020-06-19 09:41:23
【问题描述】:
今天我决定第一次使用 JavaScript 参加在线编程竞赛,但它给我带来了麻烦!我本地的Nodejs版本是v10.16.1,但是网上评委用的是V8 JavaScript引擎。
直到今天我还认为 Nodejs 使用 V8 作为 JavaScript 引擎;但是很遗憾,我今天不能在 Nodejs 中使用 d8 的 readline 和 print 内置函数。
那么 Nodejs 默认支持 V8 吗?
- 如果不是,我如何将 d8 与 Nodejs 一起安装以及如何使用它?
- 如果是,我该如何启用它?
任何回应将不胜感激......
编辑:据我所知,那个在线裁判并没有嵌入V8;它只是使用 d8 作为它的环境,它是 V8 的外壳(接口),readline 和 print 是 d8(不是 V8)的内置函数。
【问题讨论】:
-
Node.js 使用 V8,但
print和readline不是 V8 的内置函数。 -
您需要在脚本顶部添加
const readline = require('readline');,才能使用它。也许比赛平台会为您做到这一点 -
d8 !== V8... -
@mrzrm V8 - JS 引擎,d8 - V8 的 JS shell,Node.js v8 - Node.js 的版本
-
D8 基本上是 V8 开发人员提供的示例程序,用于展示如何将 V8 用作库。例如,Google Chrome 不包含 D8 代码,即使它使用 V8,所以 Google Chrome 没有
print和readline。 Node.js 做了同样的事情,他们编写了 D8 的竞争对手/替代方案,并且在 Node 中不包含任何 D8 代码,而是选择创建函数console.log和readline和fs模块
标签: javascript node.js command-line stdin v8