我在react-router中遇到以下错误,它所引用的错误看起来像是在我的应用程序代码之外,但在react-router库本身中:
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
当我使用“ JSX”语法时,一切正常,但是,当我在Webpack中添加“ babel-es2015-preset”并想开始切换到ES6 / ES2015时,我得到了上面的错误。是什么赋予了?
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']
}
}
]
}
}
我正在使用最新版本的react-router,react和babel。Package.json包含以下内容:
"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",
我当前的代码在某些文件中包含JSX语法,而在另一些文件中包含ES6 / ES2015导入语法。如果有一套更好的装载机,或者我错误配置了webpack,请告知!
我在App.js中仅有的几行是:
import React from 'react';
import ReactDOM from 'react-dom';
import {Router, Route} from 'react-router';
如果我注释掉第三行,那么首先提到的错误就消失了,但是我需要使用react-router!
我假设您使用的是npm 3+。而且React Router的install docs状态为:
请注意,您还需要安装历史包,因为它是React Router的对等依赖项,不会在npm 3+中自动为您安装。
跑步npm install history
,你应该很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句