Я создаю свое первое приложение MEAN, Angular 6. 0.2, Express 4.16.0
Файлы сгенерированы благодаря Angular CLI и генератору Express
Соединение с MongoDB отлично работаетна самом деле все работает НО ручное обновление ...
Согласно сообщениям, которые я уже видел, проблема должна исходить от маршрутизаторов (учитывая, что я хочу использовать Angular router).
Пока мой файл app.js имеет 2 маршрута:
var indexRouter = require('./routes/index'); // Express generated
var apiRouter = require('./routes/book');
, за которыми следуют ...
app.use(express.static(path.join(__dirname, 'public'))); // Express generated
app.use(express.static(path.join(__dirname, 'dist/myProjectFolder')));
app.use(express.static(path.join(__dirname, 'dist/myProjectFolder')));
И ...
app.use('/', indexRouter); // Express generated
app.use('/api, apiRouter);
После этого у меня есть обработчики ошибок по умолчанию (сгенерированные Express).
Маршрут индекса:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
РЕДАКТИРОВАТЬ 01 - теперь появляется ошибка «Путь не определен» после примененияПервое предлагаемое решение.
РЕДАКТИРОВАТЬ 02 - Проблема решена благодаря предлагаемому решению (см. также комментарии).Однако router.get ('/ ', function ... нарушает доступ к данным (ошибка 200). Если у вас есть такая же проблема, используйте только определенные, такие как router.get ('/ poney', function)... Не / (если кто-то не знает, что делать, чтобы это исправить).
РЕДАКТИРОВАТЬ 3 - После дальнейшего изучения вы можете использовать «волшебный» маршрутизатор, используя
router.get(/^\/(?!api).*/, function(req, res) {
req.sendFile(path.join(__dirname, '.. /path/to/your/index.html'));
});