У меня есть простой экспресс-сервер, который выглядит так:Express.js, Неожиданный токен <
Epxress Применение:
var express = require('express');
var compression = require('compression');
var path = require('path');
var cors = require('cors');
var router = express.Router();
var app = express();
app.use('/bundle', express.static(path.join(__dirname, '/bundle')));
app.enable('trust proxy');
app.use(compression());
app.get('*', function(req, res) {
res.header('Cache-Control', "max-age=60, must-revalidate, private");
res.sendFile(path.join(__dirname, 'index.html'));
});
var server = app.listen(process.env.PORT || 5000, function() {
var host = server.address().address;
var port = server.address().port;
console.log(`Example app listening at http://%s:%s`, host, port);
});
И простой HTML файл:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>React Router test</title>
</head>
<body>
<div id="root"></div>
<script src="bundle.js"></script>
</body>
</html>
Внутри bundle.js у меня есть приложение ReactJS с клиентской стороны:
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<Route path="about" component={About} />
<Route path="about2" component={About2} />
<Route path="about3" component={About3} />
<Route path="*" component={NoMatch} />
</Route>
<Route path="*" component={NoMatch} />
</Router>
), document.getElementById('root'));
Всякий раз, когда я пытаюсь перейти к домена: порт/ (этот маршрут поддерживается маршрутизатором) everething ОК. Но когда я пытаюсь перейти к более сложной URL, как домена: порт /// .. и т.д. я получил сообщение об ошибке в браузере:
bundle.js:1 Uncaught SyntaxError: Unexpected token <
lõoke как вместо того, чтобы отправить bundle.js от статического ответа сервера с index.html и внутри bundle.js есть html разметка.
Как я могу это исправить?
Спасибо!
попробовать <сценарий SRC = "/ расслоение .js "> –
@Utro работает для меня. благодаря! –
@KokovinVladislav благодарит, он работает в моем случае –