Почему gulp-livereload вызывает "Uncaught SyntaxError: Неожиданный токен <"?

В моем gulpfile.js Я настроил express всегда возвращаться index.html,

var server = express();
server.use(livereload({ port: 35729 }));
server.use(express.static('./app'));
server.all('*', function(req, res) {
  res.sendFile('index.html', { root: './app' });
});

server.listen(8000);
refresh.listen(35729);

Все отлично работает, когда я в первый раз localhost:8000, Мои угловые маршруты перенаправляются на http://localhost:8000/home,

Но если потом я освежу http://localhost:8000/home Я вижу следующую ошибку в консоли:

Uncaught SyntaxError: Unexpected token <

Почему это происходит?

ДЕМО ЗДЕСЬ

1 ответ

Решение

Это ошибка, вызванная angular route, Ссылки на скрипты в вашем index.html должен быть относительно корня. В противном случае они не будут найдены.

<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/angular-route/angular-route.js"></script>

<script src="/app.js"></script>
<script src="/home/home.js"></script>
<script src="/home/home-controller.js"></script>
<script src="/dashboard/dashboard.js"></script>
<script src="/dashboard/dashboard-controller.js"></script>
Другие вопросы по тегам