React和Node Koa App不呈现直接路径

时间:2016-01-10 00:02:25

标签: html node.js reactjs react-router koa

我很困惑,为什么我无法通过在网址栏中输入完整路径来访问我的部分应用。如果我去localhost:8080我可以通过链接移动我的应用程序,但如果我尝试直接访问状态,比如localhost:8080 / event一个空白屏幕显示没有错误。更重要的是,我的所有文件都显示它们已加载到chrome dev工具的网络选项卡上(包括我的索引页面)

客户端路由器:

import React from 'react';

import {Router, Route, IndexRoute} from 'react-router';
import {render} from 'react-dom';
import {createHistory} from 'history';

import EventTable from './components/event/eventTable';
import EventManager from './components/event/eventManager';
import Event from './components/event/event';

var history = createHistory();

render((
  <Router history={history}>
    <Route path="/" component={require('./components/app')}>
      <IndexRoute component={EventTable} />
      <Route path="/signup" component={require('./components/auth/signup')} />
      <Route path="/login" component={require('./components/auth/login')} />
      <Route path="event" component={EventManager} />
      <Route path="event/:eventid" component={Event} />
    </Route>
  </Router>
), document.getElementById("app"));

服务器路由器:

    'use strict'
var members = require('../controllers/members.js');
var auth = require('../controllers/auth.js');
var router = require('koa-router')();
var eventController = require('../controllers/event.js');

  router.get('/api/members', auth.isAuth, members.allmembers);

  router.post('/api/addmembers', auth.isAuth, members.addMembers);

  router.post('/api/addmember', auth.isAuth, members.addNewMember);

  router.post('/api/notify', members.notify);

  router.post('/api/login', auth.login);

  router.post('/api/signup', auth.signup);

  router.get('/api/authcheck', auth.checkToken);

  router.post('/api/createevent', eventController.createEvent);

  router.get('/api/events', eventController.getEvents);

  router.post('/api/fileupload', function *(next) {
    console.log(this);
    yield this.body = {};
  })


  router.get('/api/awsurl', function *(next){
    yield this.body = {url: upload.getUrl()};
  })

  router.get('/', function *(next) {
    yield this.render('index'); 
  })

  router.get('*', function *(next) {
    yield this.render('index'); 
  })

module.exports = router.routes();

我正在运行react-router 1.0.3和KOA 1.0.0

编辑1:

我知道这是一个混合的import / require,我在将应用程序转换为es6的过程中,我已经尝试搞乱这个并且它似乎不会导致问题。此外,包含或省略前置/似乎也没有任何效果。

0 个答案:

没有答案