window is not defined 错误在 js node.js
window is not defined error in js node.js
我有这个简单的代码:
do {
var SioNo = window.prompt("Nicholas ha il cancro, si o no?");
} while (SioNo.toLowerCase() != "si" && SioNo.toLowerCase() != "no");
if (SioNo.toLowerCase() == "si") {
console.log("Hai il cancro lol");
}
else {
console.log("ahahahah si come no");
}
这是我第一次用 js 编码,所以我真的不知道该怎么做,我使用的是 node.js 最新版本和 VSCode
这是错误:
ReferenceError: window 未定义
在对象。 <匿名 (i:.Documenti\Scuola\as_20_21\Informatica\JavaScript\Esercizio1\HelloWorld.js:2:17)
在 Module._compile (internal/modules/cjs/loader.js:1068:30)
在Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
在 Module.load (internal/modules/cjs/loader.js:933:32)
在 Function.Module._load (internal/modules/cjs/loader.js:774:14)
在 Function.executeUserEntryPoint [作为 runMain] (internal/modules/run_main.js:72:12)
在 internal/main/run_main_module.js:17:47
window
只能在浏览器(Chrome、Firefox、Safari 等)中找到。
在没有额外包的情况下使用 node
执行上述脚本将不起作用,因为 window
变量根本不存在于当前上下文中(即您的终端 window)。
如果你想在 NodeJS 中做一个提示,它将接受来自终端的用户输入,你可以使用本机包 readline
。
这是一个使用递归而不是 do...while
循环的解决方案。
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
function askQuestion() {
rl.question("Nicholas ha il cancro, si o no?", function (result) {
if (result.toLowerCase() === "si") {
console.log("Hai il cancro lol");
process.exit(1);
} else {
console.log("ahahahah si come no");
askQuestion();
}
});
}
askQuestion();
由于这是您第一次使用 JavaScript / NodeJS,我建议您先阅读教程并阅读文档。 https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps.
实际上我是Node js的新手,但我已经搜索过原因。我发现“window”在 Node.js 中无法识别,因此通过导入此库“react”尝试此解决方案,然后使用变量“window”并查看它是否被识别:
从“react”导入 React;
阅读此内容了解更多详情:
https://morioh.com/p/f7b08fe33a67
我有这个简单的代码:
do {
var SioNo = window.prompt("Nicholas ha il cancro, si o no?");
} while (SioNo.toLowerCase() != "si" && SioNo.toLowerCase() != "no");
if (SioNo.toLowerCase() == "si") {
console.log("Hai il cancro lol");
}
else {
console.log("ahahahah si come no");
}
这是我第一次用 js 编码,所以我真的不知道该怎么做,我使用的是 node.js 最新版本和 VSCode
这是错误:
ReferenceError: window 未定义
在对象。 <匿名 (i:.Documenti\Scuola\as_20_21\Informatica\JavaScript\Esercizio1\HelloWorld.js:2:17)
在 Module._compile (internal/modules/cjs/loader.js:1068:30)
在Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
在 Module.load (internal/modules/cjs/loader.js:933:32)
在 Function.Module._load (internal/modules/cjs/loader.js:774:14)
在 Function.executeUserEntryPoint [作为 runMain] (internal/modules/run_main.js:72:12)
在 internal/main/run_main_module.js:17:47
window
只能在浏览器(Chrome、Firefox、Safari 等)中找到。
在没有额外包的情况下使用 node
执行上述脚本将不起作用,因为 window
变量根本不存在于当前上下文中(即您的终端 window)。
如果你想在 NodeJS 中做一个提示,它将接受来自终端的用户输入,你可以使用本机包 readline
。
这是一个使用递归而不是 do...while
循环的解决方案。
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
function askQuestion() {
rl.question("Nicholas ha il cancro, si o no?", function (result) {
if (result.toLowerCase() === "si") {
console.log("Hai il cancro lol");
process.exit(1);
} else {
console.log("ahahahah si come no");
askQuestion();
}
});
}
askQuestion();
由于这是您第一次使用 JavaScript / NodeJS,我建议您先阅读教程并阅读文档。 https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps.
实际上我是Node js的新手,但我已经搜索过原因。我发现“window”在 Node.js 中无法识别,因此通过导入此库“react”尝试此解决方案,然后使用变量“window”并查看它是否被识别:
从“react”导入 React;
阅读此内容了解更多详情: https://morioh.com/p/f7b08fe33a67