2016-09-02 6 views
0

私はMEANスタックを学習しようとしていて、テストするためにアプリケーションを実行したかったのです。目的は、静的変数(この場合は 'hello')をHTMLでAngularで表示することでした。コントローラの$ scope変数を表示することができず、ブラウザの開発者コンソールで表示していました「GET 127.0.0.1:3000/app.js 404が見つかりません」というメッセージが表示されました。角 - 404エラーのNodejs/Express

これはExpressを使用して、私のノードサーバである:

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

app.get('/', function(req, res){ 

     res.sendFile(__dirname + '/views/index.html'); 
}); 



app.listen(3000, function() { 
     console.log('I\'m listening on port 3000...'); 
}); 

これは私のindex.htmlファイル(中/ビュー以下のディレクトリ)です:

<!DOCTYPE html> 
<html ng-app="myModule"> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/ 
angular.min.js"></script> 
    <script type="text/javascript" src="app.js"></script> 
</head> 

<body> 
<h1>Sucess!</h1> 

     <div ng-controller="myController"> 
       <p>Angular test: {{ message }}</p> 
     </div> 
</body> 

そして、これは私です私のモジュールとコントローラを含むapp.jsファイル(/ビュー内):

var myApp = angular.module('myModule', []); 

    myApp.controller('myController', ['$scope', 
function($scope) { 

    $scope.message = 'hello'; 

}]); 

誰かが手伝ってくれたら大変感謝しています!あなたはindex.htmlだけではなく、express.staticを使用して、たとえば、すべてのファイルを提供する必要があります

+0

あなたが最初のスクリプトタグが機能することを期待するにはどうすればよいですか? –

+1

静的ファイルフォルダhttps://expressjs.com/en/starter/static-files.htmlを定義しようとしましたか? –

+0

@MikeMcCaughanコードはUbuntu上でnanoからコピーされました。スクリプトタグの残りは$/angular.min.js "> – milesb

答えて

3

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

app.use(express.static('views')); 

app.listen(3000, function() { 
    console.log('I\'m listening on port 3000...'); 
});