2016-06-01 13 views
0

私は、Angular Js上に構築されたModalフォームをロードするログインボタン付きのようこそページを持っています。 welcome.htmlページをGoogle Chromeのスタンドアロンページとして実行するとうまくいきます。Angular js、Node js serverとexpress jsを使って作業する

私はExpress Jsフレームワークプロジェクトを作成し、.htmlを.ejsに変更してビューに追加してからwelcome.ejsページを完全にロードするノードサーバーを起動しました。しかし、私はボタンで記号をクリックすると、それはコンソールに次のエラーがスローされます

..

angular.js:11756 GET http://localhost:3000/views/login-popup.ejs 404 (Not Found) 

angular.js:11756 GET http://localhost:3000/views/login-popup.ejs 404 (Not Found)(anonymous function) @ angular.js:11756m @ angular.js:11517g @ angular.js:11227(anonymous function) @ angular.js:15961$eval @ angular.js:17229$digest @ angular.js:17045$apply @ angular.js:17337(anonymous function) @ angular.js:25023Qf @ angular.js:3456d @ angular.js:3444 
angular.js:13550 Error: [$compile:tpload] http://errors.angularjs.org/1.5.5/$compile/tpload?p0=%2Fviews%2Flogin-popup.ejs&p1=404&p2=Not%20Found 
    at Error (native) 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:6:412 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:156:158 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:130:226 
    at n.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:144:467) 
    at n.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:142:47) 
    at n.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:145:249) 
    at l (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:97:55) 
    at H (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:101:190) 
    at XMLHttpRequest.u.onload (https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js:102:229) 

これは私の角度は、モーダルをロードする方法です

app.controller('LoginController',['$scope','$uibModal', function($scope,$uibModal){ 
     $scope.name = 'a100'; 
     $scope.loginModal = function(){ 
      var modalInstance = $uibModal.open({ 
        animation: 'true', 
        templateUrl: '/views/login-popup.ejs', 
        controller: 'LoginModalController' 
      }); 
     }; 
}]); 

ノードコード:

app.get('/',function(res,req){ 
    res.render('welcome'); 
}); 

var server = app.listen(3000); 
console.log("Server Started at port 3000"); 

私はNodeとAngularとExpressフレームワークのすべてに新しいです。ここで私を案内してください。

お時間をいただきありがとうございます。

P .:私は/viewsも削除しようとしました。

+0

ウェブクライアントがlogin-popup.ejsファイルを見つけることができないようです。あなたはノードコードを持っていますか? (韻を踏まない^^) –

+1

ここでは、静的ファイルをエクスプレッションで公開するクイックリンクをhttp://expressjs.com/en/starter/static-files.html –

+1

に追加しました。それは、私がapp.jsに追加した唯一のノードコードです。生成されるデフォルトコードからは – Spark

答えて

2

静的ファイル(css、js)を公開していないようです。

This articleは、expressでこれを行う方法を説明しています。ここ

そして

はすぐに開始するためのコード(記事からコピーペースト)

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

これはありませんが、フォルダ公衆がウェブにさらされることです。

Expressは静的ディレクトリを基準にしてファイルを検索します。したがって、静的ディレクトリの名前は のURLの一部ではありません。

+0

ありがとうございました。それはうまくいく(韻を意図した;)) – Spark

+1

@Spark - あなたがこの解決策を選択した場合、私はあなたを答えとしてマークすることを愛するだろう。 –

関連する問題