无法在索引页面中运行节点文件

时间:2015-09-04 14:27:15

标签: javascript node.js google-chrome

我是计算机科学的新手,我喜欢编程。所以我开始学习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

我试图在谷歌搜索,我没有找到任何有用的东西。 问题:为什么我收到此错误?

3 个答案:

答案 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_