【发布时间】:2015-11-17 18:00:31
【问题描述】:
我正在尝试创建一个实际上什么都不做的简单应用程序。我在使用 React 路由器时遇到了困难。
我使用的react router版本是1.0
我不断收到一个错误提示
警告:位置“/”不匹配任何路线
下面是我的代码
Main.js
import React from "react";
import ReactDOM from "react-dom";
import { IndexRoute, Router, Route, Link } from 'react-router'
import createHistory from 'history/lib/createBrowserHistory';
import Template from './modules/template'
import Index from './modules/index'
import NotFound from './modules/notfound'
let history = new createHistory();
var routes = (
<Router history={history}>
<Route path="/" component={Template}>
<IndexRoute component={Index}/>
<Route path="*" component={NotFound}/>
</Route>
</Router>
);
ReactDOM.render(routes, document.getElementById('glass-app'));
Index.js
import React from "react";
import RouteHandler from 'react-router';
export default class Index extends React.Component{
render(){
return <div>Hello World!</div>
}
}
Template.js
import React from "react";
import RouteHandler from 'react-router';
export default class Template extends React.Component{
render(){
return <div>
<div>My Header</div>
<RouteHandler/>
</div>
}
}
NotFound.js
import React from "react";
import RouteHandler from 'react-router';
export default class NotFound extends React.Component{
render(){
return <div>
The Page You Were Looking For Can't Be Found
</div>
}
}
WebPack 配置
var webpack = require('webpack');
module.exports = {
entry : {
javascript : "./public/js/main.js",
html : "./public/index.html"
},
output : {
path : __dirname + '/dist',
filename : 'bundle.js'
},
devtool: 'inline-source-map',
devServer:{
historyApiFallback: true
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
module : {
loaders : [
{test: /\.jsx?$/, loaders: ['react-hot', 'babel'], exclude: /node_modules/},
{test : /\.html$/, exclude: /node_modules/, loader : 'file?name=[name].[ext]'}
]
}
};
我已经阅读了许多具有类似建议但没有运气的帖子。任何帮助,将不胜感激。
【问题讨论】:
标签: reactjs react-router history.js