2016-12-12 12 views
0

Node.jsとAngular.jsを使用して必要な部分表示を取得できませんでした。私は以下のコードを説明しています。Node.jsとAngular.jsを使用してページを取得しない

server.js:

var port=8989; 
var express=require('express'); 
var morgan = require('morgan'); 
var http=require('http'); 
var bodyParser= require('body-parser'); 
var methodOverride = require('method-override'); 
var mongo = require('mongojs'); 
var app=express(); 
var server=http.Server(app); 
var admin=require('./route/route.js'); 
app.use(express.static(__dirname + '/public')); 
app.use(morgan('dev'));     
app.use(bodyParser.urlencoded({ extended: false })) 
app.use(bodyParser.json())  
app.use(methodOverride()); 
app.get('/',function(req,res){ 
    res.sendfile('index.html'); 
}) 
server.listen(port); 
console.log("Server is running on the port"+port); 

上記の私のサーバー側のファイルです。

のindex.html:

<!DOCTYPE html> 
<html lang="en" ng-app="FGDP"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta name="description" content=""> 
    <meta name="author" content="Chinmaya Sahu"> 
    <title>...:::WELCOME TO FGDP:::...</title> 
    <link href="css/pace.css" rel="stylesheet"> 
    <script src="js/pace.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script src="js/angularjs.js" type="text/javascript"></script> 
    <script src="js/angularuirouter.js" type="text/javascript"></script> 
    <script src="js/loginRoute.js" type="text/javascript"></script> 
    <script src="js/angularcaps.js" type="text/javascript"></script> 
    <script src="js/angular-messages.js" type="text/javascript"></script> 
    <script src="js/angularuibootstrap.js" type="text/javascript"></script> 
</head> 

<body> 
<div ui-view> 

</div> 
<!--<base href="/Gofasto/">--> 
<!--<base href="/spesh/">--> 
</body> 
</html> 

まず、ユーザが上記page.Inside ui-view以下のとおりであるレンダリングする部分ビューを取得します。

公開/ JS/loginRoute.js:ここ

$stateProvider 
    .state('/', { 
      url: '/', 
      templateUrl: 'view/login.html', 
      controller: 'loginController' 
     }) 

login.htmlは部分図であり、そのcoming.Myないディレクトリ構成は以下のとおりです。

1)root directory 

    -> Node_modules 
    -> Public 
     =>JS 
     =>CSS 
     =>Controller 
-> View 
-> server.js 
->Package.json 

この問題を解決するのを手伝ってください。

+0

静的パス 'app.use(express.static(__ dirname + '/ public'))に' public'フォルダをバインドしています。 'それは' view'のファイルがクライアント上でレンダリングされない理由です。 –

+0

1つの解決策は、 'public'フォルダに' views'を置くことです。 –

+0

@MukeshSharma:試してみてください。 – satya

答えて

1

パブリックフォルダ内のコンテンツをルートパスにバインドする次の行を記述しました。

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

http://localhost:8989/js/loginRoute.jsにアクセスすると、javascriptファイルを取得できます。

viewフォルダはパブリックディレクトリの下にありません。したがって、404http://localhost:8989/view/login.htmlになります。

viewディレクトリをpublic内に移動する可能性があります。

関連する問題