反应路由器要求未定义

时间:2016-01-20 09:54:41

标签: reactjs react-router

我有一个home.js喜欢:

 import React from 'react'
    import { render } from 'react-dom'
    import { Router, Route, Link, browserHistory } from 'react-router'
    import Login from 'login.js';

var App = React.createClass({  
  render() {
    return (
      <div className="nav">
        <Link to="app">Home</Link>
        <Link to="login">Login</Link>

        {/* this is the importTant part */}
        <RouteHandler/>
      </div>
    );
  }
});

render((  
  <Route name="app" path="/" handler={App}>
    <Route name="login" path="/login" handler={Login}/>
  </Route>
), document.body)

和login.js喜欢:

 import React from 'react';

var Login = React.createClass({ 

  render() {
    return(<div>Welcome to login</div>);
  }
});

export default Login;

和我的home.html:

 <html lang="en">  
  <head>
    <meta charset="utf-8">
    <title>New React App</title>
  </head>
  <body>
    <section id="react"></section>
    <script src="../build/react.js"></script>
    <script src="../build/react.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.min.js"></script>
    <script src="https://npmcdn.com/react-router/umd/ReactRouter.min.js"></script>
    <script type="text/babel" src="js/home.js"></script>
  </body>
</html> 

当我运行时,它会给我Uncaught exception require is not defined

需要帮助..

1 个答案:

答案 0 :(得分:2)

来自getting started指南

  

我们建议将React与CommonJS模块系统一起使用,例如browserifywebpack

即使您将文件保存为.js,也需要将它们编译成一个包,以便相互访问这些类。

我可能值得一看React的一些样板和入门套件,this is a good example