2015-06-11 2 views
0

Я обычно использовал Angular для создания целых сайтов, а не для частей веб-сайта, но теперь я хотел бы отделить главную страницу для целей SEO, чтобы это был статический HTML-файл, а не часть Приложение AngularJS.Приложение AngularJS и отдельный index.html

Я использую ExpressJS на back-end, но я не уверен, как я буду обслуживать index.html и app/index.html отдельно. Может ли кто-нибудь указать мне в правильном направлении?

В server.js я обычно что-то вроде этого:

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

но что мне нужно сделать, чтобы быть в состоянии поставить index.html, если пользователь переходит на домашнюю страницу и app/index.html, если пользователь переходит /somewhere

Я стараюсь избегать стоимости дополнительной платы за регистрацию Heroku, если это вообще возможно?

ответ

0

См. Приведенный ниже код. Вы настроите правило, в котором, если url is/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'); 
    }); 
}; 
Смежные вопросы