0

我只是在尝试 node js 和 angular js。这是我的节点代码:

var http = require('http');
var fs = require('fs');
var sys = require('sys');

http.createServer(function(req, res){
fs.readFile('angularjsex.html',function (err, data){
    res.writeHead(200, {'Content-Type': 'text/html','Content-Length':data.length});
    res.write(data);
    res.end();
});
}).listen(8000);

angularjsex.html 文件:

    <html ng-app>
    <head>
    <script type="text/javascript" src="angular.js"></script>
    </head>
    <body>
    <div>
    <label>Name:</label>
    <input type="text" ng-model="yourName" placeholder="Enter a name here">
    <hr>
    <h1>Hello {{yourName}}!</h1>
    </div>
    </body>
    </html>

角度 js 只是不起作用。我错过了什么吗?

4

1 回答 1

4

您正在angularjsex.html为每个请求返回文件的内容。在您的 HTML 文件中,有一个引用angular.js表明浏览器将尝试从您的服务器加载,并且该请求将获得相同的(HTML!)内容。

对于适用于您当前服务器应用程序的解决方案,请替换以下内容:

<script type="text/javascript" src="angular.js"></script>

有了这个:

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>

但我建议开始使用Express,在这种情况下,如果您将服务器更改为以下内容,您可以保留 HTML 代码:

var express = require('express');
var app     = express();

app.use(express.static(__dirname + '/public'));

app.listen(8000);

创建一个目录public并将您的angularjsex.htmlangular.js文件放入其中。要查看结果,http://localhost:8000/angularjsex.html请在浏览器中打开。

要安装 Express:

npm install express
于 2013-06-06T12:47:09.343 回答