2015-11-29 8 views
8

otrzymuję następujące błędy z reagują-routera, błędy jego nawiązujące do wyglądu jak to jest poza moim kodzie aplikacji, ale z biblioteką reagować-Router samego:Babka internetowa pakiet es6, podając mi błędy z routerem reagującym na brak modułu "1.0"?

ERROR in ./~/react-router/lib/Router.js 
Module not found: Error: Cannot resolve module 'history/lib/createHashHistory' in /Users/kmartinez/apache/www/reactroutesample/node_modules/react-router/lib 
@ ./~/react-router/lib/Router.js 25:35-75 

ERROR in ./~/react-router/lib/useRoutes.js 
Module not found: Error: Cannot resolve module 'history/lib/Actions' in /Users/kmartinez/apache/www/reactroutesample/node_modules/react-router/lib 
@ ./~/react-router/lib/useRoutes.js 15:25-55 

ERROR in ./~/react-router/lib/useRoutes.js 
Module not found: Error: Cannot resolve module 'history/lib/useQueries' in /Users/kmartinez/apache/www/reactroutesample/node_modules/react-router/lib 
@ ./~/react-router/lib/useRoutes.js 17:28-61 

ERROR in ./~/react-router/lib/match.js 
Module not found: Error: Cannot resolve module 'history/lib/createMemoryHistory' in /Users/kmartinez/apache/www/reactroutesample/node_modules/react-router/lib 
@ ./~/react-router/lib/match.js 13:37-79 

ERROR in ./~/react-router/lib/match.js 
Module not found: Error: Cannot resolve module 'history/lib/useBasename' in /Users/kmartinez/apache/www/reactroutesample/node_modules/react-router/lib 
@ ./~/react-router/lib/match.js 17:29-63 

Wszystko pracował kiedy używałem składnię "JSX", ale jak tylko dodałem w "babel-es2015-preset" do mojego pakietu internetowego i chciałem zacząć przełączać się na ES6/ES2015, otrzymałem powyższe błędy. Co daje?

module.exports = { 
    entry: './app/App.js', 
    output: { 
     filename: 'public/bundle.js', 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       exclude: /(node_modules|bower_components)/, 
       loader: 'babel', 
       query: { 
        presets: ['es2015','react'] 
       } 

      } 
     ] 
    } 
} 

Używam najnowszej wersji routera reagowania, reagowania i babel. Package.json zawiera następujące elementy:

"babel-core": "^6.2.1", 
    "babel-loader": "^6.2.0", 
    "babel-preset-es2015": "^6.1.18", 
    "react-dom": "^0.14.3", 
    "webpack": "^1.12.9", 
"react": "^0.14.3", 
    "react-dom": "^0.14.3", 
    "react-router": "^1.0.0", 
"babel-preset-react": "^6.1.18", 

Mój obecny kod zawiera zarówno JSX składni w niektórych plików i ES6/ES2015 import składni w innych. Jeśli jest lepszy zestaw ładowarek lub źle skonfigurowany pakiet sieciowy, proszę doradzić!

Jedyne linie mam w App.js są:

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import {Router, Route} from 'react-router'; 

Jeśli komentarz, że trzeciej linii, wówczas błędy pierwszym wymienionym odejść, ale muszę użyć reagować-routera!

Odpowiedz

24

Zakładam, że korzystasz z npm 3+. I React Router's install docs state:

Należy również zainstalować pakiet historii, ponieważ jest to zależność peer z React Router i nie zostanie automatycznie zainstalowany dla ciebie w npm 3+.

Uruchom npm install history i powinieneś być dobry.

0

Błędy powiedzieć problem:

Nie można rozwiązać modułu 'historia/lib/createHashHistory'

react-router zależy od modułu herehistory i wydaje się, że nie masz go zainstalowanego .

Potencjalnie najłatwiej

rm -rf node_modules 
npm install 

aby zapewnić wszystkie zależności są prawidłowo zainstalowane.

+0

Dlaczego to działa tylko z JSX? – Rolando

+0

'Historia' jest zależnością' Reaktor-routera'. Jeśli go nie zaimportujesz, nie spowoduje to błędu. – loganfsmyth

+1

Mam już zainstalowaną historię, ale ten błąd pojawia się. Nie mam teraz pomysłu. Czy masz jakieś inne wskazówki dotyczące tego problemu? –

-1

To błąd węzła. Naprawiono go, przechodząc w project/node_modules/react-router/ i działając pod numerem npm install history.

Powiązane problemy