重构我的节点/快速应用程序后,我的index.html静态路由将无法正常工作

时间:2014-09-19 15:44:01

标签: node.js angularjs

我想将index.html作为默认服务器,因为我使用angular来处理客户端路由。

这是我的应用程序的结构。

app structure

这是app / app.js

var express = require('express'),
    config = require('./config/config'),
    bodyParser = require('body-parser'),
    app = express(),
    router = express.Router();

require('./config/db')(function(db) {
    require('./routes/routes')(app, router, null, db);

    app.use(express.static(__dirname, '/'));

    app.use(bodyParser.json());
    app.use('/', router);
    app.listen(config.port);
    console.log('Listening on port ' + config.port);
});

./routes/routes.js中唯一的东西是服务器端路由。我真的不确定我做了什么,但是index.html默认情况下会加载,然后angular会照顾其余部分。

我是node / express的新手。

我不断得到的错误是“无法获取/”

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

你应该使用

app.use(express.static(path.resolve('./public')));

关于快速配置

在您的路线中,您需要有一条服务于您的根路径

module.exports = function(app) {
    // Root routing
    var core = require('/controllers/core');
    app.route('/').get(core.index);
};

您的服务器控制器

exports.index = function(req, res) {
    res.render('index'); //assuming that you are using some view engine.
};