我是计算机科学的新手,我喜欢编程。所以我开始学习nodejs,并在test.js中编写了这个简单的代码。
var http = require("http");
var fs=require('fs');
var path=require('path');
var msg= "hi\nhow r u ?\nfine";
var file='textms.txt';
http.createServer(function (req,res){
fs.open(file,function(exists){
if(exists){
fs.open(file,msg,function(err){
if(err)throw err;
});
}else{
fs.writeFile('test.txt',msg);
console.log('New file is created : ');
}
});
res.end();
}).listen(8080);
console.log('server running on port 8080');
这是我的index.html页面代码..
<html>
<head>
<title>
Chat Test With Nodejs
</title>
<script type="text/javascript" src="test.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<div id="cnt"></div>
<input type="text" class="text">
<button id="btn">Send</button>
</body>
</html>
我在chrome(localhost:8080)上运行此代码。它工作正常。
问题:当我在chrome上运行index.html
页面时,我在chrome控制台中收到此错误:
Uncaught ReferenceError: require is not defined @ server.js:1
我试图在谷歌搜索,我没有找到任何有用的东西。 问题:为什么我收到此错误?
答案 0 :(得分:1)
看起来你是Node的新手。要回答您的问题,请不要在index.html中运行服务器文件。你的服务器文件运行你的index.html ....有点。
我不打算对Node如何工作进行很长时间的解释,而是给你这个资源NodeSchool。可能是开始学习Node的最好的地方之一。
祝你好运,如果你有任何问题,请随时与我们联系。谢谢,
答案 1 :(得分:1)
HTML文件中的server.js
是否指向您的节点服务器?如果是这样,那么您的浏览器正在尝试运行它无法执行的节点服务器(或节点文件)。此外,您的错误似乎是require
未定义,这非常有意义,因为require
是一个Node函数,而不是本机JS函数。
答案 2 :(得分:1)
哑! :)
NodeJS是服务器端的JavaScript解释器
所以你不能把它包含在你的HTML代码中。
1.安装nodejs
2.导航到server.js所在的文件夹
3.从命令提示符运行:
node server.js
或
nodejs server.js
然后在您的浏览器中打开: http://127.0.0.1:8080
P.S。在Youtube上观看教程:https://www.youtube.com/watch?v=-u-j7uqU7sI&index=1&list=PL6gx4Cwl9DGBMdkKFn3HasZnnAqVjzHn_