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>

angular 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.jshttp://localhost:8000/angularjsex.html

エクスプレスをインストールするには:

npm install express
于 2013-06-06T12:47:09.343 に答える