我是计算机科学的新手,我喜欢编程。所以我开始学习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
我试着在谷歌上搜索,我没有找到任何有用的东西。问题:为什么我会得到这个错误?
发布于 2015-09-04 22:33:50
看起来你是Node的新手。为了回答您的问题,您没有在index.html中运行您的服务器文件。你的服务器文件是运行你的index.html的.差不多吧。
我不会详细解释Node是如何工作的,我将给你这个资源,NodeSchool。这可能是开始学习Node的最好地方之一。
祝你好运,如果你有任何问题,请随时联系。
谢谢,
发布于 2015-09-04 22:34:23
HTML文件中的server.js
是否指向Node服务器?如果是这样,那么您的浏览器正在尝试运行Node服务器(或节点文件),而这是它无法做到的。而且,您的错误似乎是没有定义require
,这很有道理,因为require
是一个节点函数,而不是一个本机JS函数。
发布于 2015-09-04 22:35:22
哑巴!:)
NodeJS是服务器端的javascript解释器。
所以你不能在你的html代码中包含它。
node server.js
或
nodejs server.js
然后在浏览器中打开:
附注:在Youtube上观看教程:https://www.youtube.com/watch?v=-u-j7uqU7sI&index=1&list=PL6gx4Cwl9DGBMdkKFn3HasZnnAqVjzHn_
https://stackoverflow.com/questions/32400510
复制相似问题