Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Node.JS中运行JS文件_Javascript_Html_Node.js - Fatal编程技术网

Javascript 在Node.JS中运行JS文件

Javascript 在Node.JS中运行JS文件,javascript,html,node.js,Javascript,Html,Node.js,我是一名自学者,在Node.js上运行测试文件时遇到问题。我正在使用以下命令:“node”。我不知道文档未定义是什么意思。在本例中,我键入node test.js。任何帮助都很好。我面临以下错误: PS C:\Users\buddys\Desktop\Projects> node test.js C:\Users\buddys\Desktop\Projects\test.js:8 document.write("Metri loves you too baby!"); ^ R

我是一名自学者,在Node.js上运行测试文件时遇到问题。我正在使用以下命令:“node”。我不知道文档未定义是什么意思。在本例中,我键入node test.js。任何帮助都很好。我面临以下错误:

PS C:\Users\buddys\Desktop\Projects> node test.js
C:\Users\buddys\Desktop\Projects\test.js:8
   document.write("Metri loves you too baby!");
   ^

ReferenceError: document is not defined
    at Object.<anonymous> (C:\Users\buddys\Desktop\Projects\test.js:8:4)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:504:3
PS C:\Users\buddys\Desktop\Projects>node test.js
C:\Users\buddys\Desktop\Projects\test.js:8
记录。写下(“Metri也爱你,宝贝!”);
^
引用错误:未定义文档
反对。(C:\Users\buddys\Desktop\Projects\test.js:8:4)
在模块处编译(Module.js:570:32)
在Object.Module.\u extensions..js(Module.js:579:10)
在Module.load(Module.js:487:32)
在tryModuleLoad时(module.js:446:12)
在Function.Module.\u加载(Module.js:438:3)
位于Module.runMain(Module.js:604:10)
运行时(bootstrap_node.js:389:7)
启动时(bootstrap_node.js:149:9)
在bootstrap_node.js:504:3
现在,当我运行index.html时,JavaScript正在写入网页。这是我的索引和.js文件:

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>JavaScript Learning</title>

  </head>
  <body>
    <h1>JS for Metri</h1>
<p>blah blah blah</p>
<div class="content">

</div>

<!--place scripts at the bottom of the body unless big files. If it's a big files
Metri, make a separate .js file and link it to the HTML page by using src attribute. -->
<script src="test.js" charset="utf-8"></script>
  </body>
</html>

JavaScript学习
Metri的JS
废话废话

test.js

var youLikeMetri = true;
var age= 18;
var enter = 'You are permitted to be legally drunk';
var almost = 'You may legally smoke but not drink'
var exit= 'You are not permitted to be legally drunk';
//if statement if(condition){CODE BLOCK;}
 if (youLikeMetri){
   document.write("Metri loves you too baby!");
 }
//COMPARISON OPERATORS
//==EQUAL TO !=NOT EQUAL TO !==NOT IDENTICAL
//>=GREATER THAN OR EQUAL TO ||OR
//<=LESS THAN OR EQUAL TO &&AND
 if (age >= 21){
   document.write(enter);
 }
//elseif to create multiple conditions after first if.
else if(age <= 20){
  document.write(almost);
}

else if (age < 18){
  document.write(exit);
}
//while loops are continuous if the condition is met.
// while (condition){CODE BLOCK}
while (age <10) {
  console.log('You are less than 10');
  age++
  //adds one to age when age is > 10 it will continue down.
}
document.write('You are older than 10 now')
var youLikeMetri=true;
年龄=18岁;
var enter='您被允许合法饮酒';
var几乎='你可以合法吸烟但不能喝酒'
var exit='不允许合法饮酒';
//if语句if(条件){CODE BLOCK;}
如果(youLikeMetri){
记录。写下(“Metri也爱你,宝贝!”);
}
//比较运算符
//等于=不等于==不完全相同
//>=大于或等于| |或
//= 21){
文件。写入(输入);
}
//elseif在第一个if之后创建多个条件。

else if(age
文档
不是标准JavaScript的一部分。它是由web浏览器提供的API

Node.js不是web浏览器,也不提供
文档
对象

要从Node.js写入STDOUT,可以使用


文档
不是标准JavaScript的一部分。它是web浏览器提供的API

Node.js不是web浏览器,也不提供
文档
对象

要从Node.js写入STDOUT,可以使用


文档在web浏览器中属于DOM,因为nodeJS不是客户端javascript,您无法访问浏览器DOM

但如果您想在客户端应用程序上使用nodeJS模块,您可以在web浏览器中使用文档属于DOM,因为nodeJS不是客户端javascript,您无法访问浏览器DOM

但是如果你想在客户端应用程序上使用nodeJS模块,你可以使用前端(执行test.js的index.html)和后端

node js用于后端。您可以将其视为实现“web服务器”,将您的案例中的index.html和test.js发送到浏览器

您案例的工作示例:

var express = require('express')
, http = require('http')
, path = require('path');

var app = express();

app.set('port', process.env.PORT || 3000);

app.use(express.errorHandler());
app.use(express.static(path.join(__dirname)));

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
另存为my_backend.js

执行:

npm install express
现在运行:

node my_backend.js
确保您的其他文件(index.html和test.js)与my_backend.js保存在同一文件夹中

现在,打开浏览器并键入:

http://127.0.0.1:3000/
它所做的是使用express framework创建一个web服务器,在本地主机端口3000上侦听,并在my_backend.js所在的同一文件夹中搜索您请求的任何资源


有关更多信息,请参阅node.js+express教程。

您混淆了前端(执行test.js的index.html)和后端

node js用于后端。您可以将其视为实现“web服务器”,将您的案例中的index.html和test.js发送到浏览器

您案例的工作示例:

var express = require('express')
, http = require('http')
, path = require('path');

var app = express();

app.set('port', process.env.PORT || 3000);

app.use(express.errorHandler());
app.use(express.static(path.join(__dirname)));

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
另存为my_backend.js

执行:

npm install express
现在运行:

node my_backend.js
确保您的其他文件(index.html和test.js)与my_backend.js保存在同一文件夹中

现在,打开浏览器并键入:

http://127.0.0.1:3000/
它所做的是使用express framework创建一个web服务器,在本地主机端口3000上侦听,并在my_backend.js所在的同一文件夹中搜索您请求的任何资源


有关更多信息,请参阅任何node.js+express教程。

好的,所以我尝试做的是不可能的?我尝试在我的编辑器中运行所有内容,这样我就不必在浏览器和编辑器之间跳转。我们应该在这里提一下,
document.write
是一种糟糕的方法,永远不会在好的环境中使用practices@DemetriBethel
process.stdout
是标准的输出流。在大多数情况下,它是您正在使用的命令行界面。好吧,那么我想做的是不可能的吗?我试图在编辑器中运行所有内容,所以我不必在浏览器和编辑器之间来回切换。我们应该在这里提到
document.write
是一种不好的方法这顶帽子永远用不好practices@DemetriBethel
process.stdout
是标准的输出流。在大多数情况下,它是您正在使用的命令行界面。