Node.js Node JS:在Angular JS resolve下调用Http服务

Node.js Node JS:在Angular JS resolve下调用Http服务,node.js,express,Node.js,Express,我是NodeJS的新手 最初,当页面加载localhost:3000时 调用index.html并重定向到alluser.html app.js var express = require('express'); var path = require('path'); var app = express(); path = require('path'), index = require('./routes/index'); app.use(express.static(path.join(_

我是NodeJS的新手

最初,当页面加载localhost:3000时

调用index.html并重定向到alluser.html

app.js

var express = require('express');
var path = require('path');
var app = express();
path = require('path'),
index = require('./routes/index');

app.use(express.static(path.join(__dirname, '.')));
app.use(express.static(path.join(__dirname, 'admin_4_angularjs')));

app.get('/', function(req, res)
{
        res.sendFile(path.join(__dirname + '/admin_4_angularjs/index.html'));
});
module.exports = app;
var port = 3000;
app.listen(port, function()
{
        console.log('Listening on ' + port);
});
main.js

// UI Bootstrap
.state('allUsers',
{
        url: "/allUsers.html",
        templateUrl: "views/allUsers.html",
        data:
        {
                pageTitle: 'Users List'
        },
        controller: "allUsersController",
        resolve:
        {
                allUserslist: function($http)
                {
                        return $http.get("/users").then(function(response)
                        {
                                return response.data;
                        })
                }
        }
})
index.js

var express = require('express');
var mongodb = require('mongodb');
var router = express.Router();
var app = express();
var MONGODB_URI = 'mongodb://xxx.xxx.1.23:27017/RELRE';
var db;
var coll;
mongodb.MongoClient.connect(MONGODB_URI, function(err, database) {
  if(err) throw err;
  db = database;
});
router.get('/users', function(req, res) {
 var collectionInfo = db.collection("UsersInfo");
            collectionInfo.find({}).toArray(function(err, employees) {
               res.status(200).json({'myCollection' : employees});
            });
});

module.exports = router;
我在浏览器控制台下得到404

404(未找到)


您能告诉我如何解决这个问题吗?

您需要您创建的路由器,但您需要告诉express使用它

最简单的方法是将
app.use(index)
添加到
app.js的
GET
路径之后

app.get('/', function(req, res)
{
        res.sendFile(path.join(__dirname + '/admin_4_angularjs/index.html'));
});
app.use(index)
Express自上而下查找匹配的路由,因此在查找您的
/users
路由时,它将首先检查您的
/
路由,然后检查您包含的路由器的路由

但是,如果您计划使用多个路由器,我还建议您为
应用程序提供一个基本路径。使用
指示路由器应处理以该基本路径开始的所有路由。例如,在您的特定情况下:

app.use('/users', index) // may also want to give the router a more meaningful name
然后在
index.js
中修改路由器,如下所示:

router.get('/', function(req, res) { // within the router, '/users' is now assumed to be the base path
    // Logic for this route
});

您需要创建的路由器,但需要告诉express使用它

最简单的方法是将
app.use(index)
添加到
app.js的
GET
路径之后

app.get('/', function(req, res)
{
        res.sendFile(path.join(__dirname + '/admin_4_angularjs/index.html'));
});
app.use(index)
Express自上而下查找匹配的路由,因此在查找您的
/users
路由时,它将首先检查您的
/
路由,然后检查您包含的路由器的路由

但是,如果您计划使用多个路由器,我还建议您为
应用程序提供一个基本路径。使用
指示路由器应处理以该基本路径开始的所有路由。例如,在您的特定情况下:

app.use('/users', index) // may also want to give the router a more meaningful name
然后在
index.js
中修改路由器,如下所示:

router.get('/', function(req, res) { // within the router, '/users' is now assumed to be the base path
    // Logic for this route
});