没有使用Node.js和Angular.js获取页面

时间:2016-12-12 08:35:37

标签: javascript angularjs node.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>

第一位用户将获得上述页面。在ui-view内部,部分视图将呈现以下内容。

公共/ JS / loginRoute.js:

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

这里login.html是部分视图,它不会出现。我的目录结构如下。

1)root directory

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

1 个答案:

答案 0 :(得分:1)

您编写了以下行,将公用文件夹中的内容绑定到根路径。

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

e.g。通过访问http://localhost:8989/js/loginRoute.js,您可以获得javascript文件。

您的view文件夹不在公共目录下。因此,您http://localhost:8989/view/login.html

获得了404

一种可能的解决方案是在view内移动public目录。