javascript - 未捕获的语法错误 : Unexpected token < occurring when deploying

标签 javascript reactjs express router

有一个在后端使用带有节点/express服务器的react路由器的react应用程序,我正在尝试部署到heroku,但它给了我这个错误......

'未捕获的语法错误:意外的标记<'

我相信这是我的 express 服务器中的“catch all”路由,它正在提供index.html..不太确定...这是我的服务器文件的一些内容..

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
const path = require('path');
const bcrypt = require('bcrypt');
const db = require('../database/index.js');
const passport = require('passport');
const helpers = require('./helpers.js');//eslint-disable-line
require('../server/config/passport')(passport);

app.use(express.static(path.join(__dirname, '/../client/dist')));
app.use(require('cookie-parser')());
app.use(require('body-parser').urlencoded({ extended: true }));
app.use(require('express-session')({
  secret: process.env.SESSION_PASSWORD || 'supersecretsecret',
  resave: false,
  saveUninitialized: false,
}));

app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.json());

app.post('/', (req, res) => {
  res.end();
});

app.get('/*', (req, res) => {
  res.sendFile(path.join(__dirname, '/../client/dist/index.html'));
});

app.listen(process.env.PORT || 3000, () => {
  console.log('listening on port 3000!');
});

这是我的前端 index.jsx 文件..

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import Home from './components/homepage.jsx';
import ArtistRegister from './components/artistregister.jsx';
import VenueRegister from './components/venueregister.jsx';
//import Test from './components/test.jsx';
import reducer from './reducers/index.js';
import { BrowserRouter as Router, Route, Switch } from 'react-router- 
dom';//eslint-disable-line

const store = createStore(reducer, applyMiddleware(thunk));

const Base = ({ store }) => (
  <Provider store={store}>
    <Router>
      <Switch>
        <Route exact path="/" component={Home} />
        <Route exact path="/artistregister" component={ArtistRegister} 
        />
        <Route exact path="/venueregister" component={VenueRegister} />
        {/* <Route path="/artist/:username" component={Test} /> */}
      </Switch>
    </Router>
  </Provider>
);

const render = () => {
  ReactDOM.render(<Base store={store} />, 
  document.getElementById('app'));
  };

store.subscribe(render);
render();

有什么帮助吗?

最佳答案

我明白了!它使用 babel 正确转译,唯一的问题是部署时,我的bundle.js 在 git-ignore 中。

关于javascript - 未捕获的语法错误 : Unexpected token < occurring when deploying,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523538/

相关文章:

javascript - 升级到 Node 0.10 后的问题

javascript - 需要特定的正则表达式

javascript - 有没有办法反转 jQuery UI 图标或 Bootstrap 图标?

javascript - 使用 Suspense 创建组件时如何使 useRef 不为空

reactjs - react : how can you share the state between views using react-router?

node.js - 支持布局和部分的 Node 表达模板引擎

javascript - 从字符串中删除数字和字符

javascript - 为什么我的 Sequelize 查询对小数列求和并以字符串形式返回

javascript - React - 包装父组件和直接子组件

node.js - 使用异步函数处理请求可以吗?