AngularJS app和单独的index.html

时间:2015-06-11 14:22:06

标签: angularjs express

我通常使用Angular创建整个网站而不是网站的某些部分,但现在我想将主页分开用于搜索引擎优化目的,这样它就是一个静态HTML文件,而不是AngularJS应用程序的一部分。

我在后端使用ExpressJS,但我不确定如何分别为index.htmlapp/index.html提供服务。有人能指出我正确的方向吗?

server.js我通常会有这样的事情:

app.use(function(req, res) {
    res.sendFile(__dirname + '/app/index.html');
});

但如果用户访问主页,我需要做什么才能提供index.html;如果用户导航到app/index.html

,我需要/somewhere

如果可能的话,我试图避免额外的Heroku申请费?

1 个答案:

答案 0 :(得分:0)

请参阅下面的代码。您将设置一个规则,其中如果网址是/ home(或您的主页路径是什么),您将用户发送到index.html并且在所有规则之后(如果您有更多规则),您将拥有一个catchall规则将用户发送到app / index.html。

app.route('/home')
    .get(function(req, res) {
        res.sendFile(__dirname + '/index.html');
    });

app.route('/*')
    .get(function(req, res) {
        res.sendFile(__dirname + '/app/index.html');
    });
};