React не может найти экспортированную функцию renderRoutes - PullRequest
0 голосов
/ 02 июня 2019

Я работаю над своим первым метеорологическим / реагирующим приложением и пытаюсь использовать реагирующий маршрутизатор. Однако, когда я пытаюсь запустить приложение, я не могу импортировать функцию renderRoutes.

Я пытаюсь следовать указаниям роутера:

https://guide.meteor.com/react.html

Маршрутизатор живет в myapp/client/lib/router.js. Вот мой код роутера:

import React from 'react';
import { Router, Route, Switch } from 'react-router';
import createBrowserHistory from 'history/createBrowserHistory';

import {Home} from '../home/home.js';
import {Login} from '../login/login.js';
import {Connect} from '../connect/connect.js';

const browserHistory = createBrowserHistory();

export const renderRoutes = () => (
  <Router history={browserHistory}>
    <Switch>
      <Route exact path="/" component={Home}/>
      <Route exact path="/login" component={Login}/>
      <Route exact path="/connect" component={Connect}/>
    </Switch>
  </Router>
);

У меня есть функция meteor.startup () в myapp/server/main.js, это все, что у меня есть:

import { Meteor } from 'meteor/meteor';
import { render } from 'react-dom';
import { renderRoutes } from '../client/lib/router.js';

Meteor.startup(() => {
  render(renderRoutes(), document.getElementById('App'));
});

Когда я пытаюсь запустить meteor run, вот что я вижу:

Error: Cannot find module '../client/lib/router.js'

Почему? Любая помощь приветствуется!

1 Ответ

1 голос
/ 03 июня 2019

Это потому, что ваш маршрутизатор находится в

myapp / client / lib / router.js

, тогда как ваш основной файл находится в

myapp / server / main.js

Таким образом, если вы не собираетесь реализовывать рендеринг на стороне сервера, вы можете переместить второй код в

myapp / client / main.js

Это связано с осведомленностью Метеора о структуре проекта.Если файл содержится в папке с именем client или server, он будет доступен только в этой среде.

Дополнительная информация приведена в руководстве: https://guide.meteor.com/structure.html#special-directories

...