• react-router


    本文的系列篇章:http://www.cnblogs.com/xiaochongchong/tag/%E5%89%8D%E7%AB%AF%E5%B7%A5%E5%85%B7/

    本文主要参考阮一峰博客:http://www.ruanyifeng.com/blog/2016/05/react_router.html?utm_source=tool.lu,并只针对于history属性的值为hashHistory进行讨论

    项目结构:

    package.json

    {
      "name": "webpack",
      "version": "1.0.0",
      "description": "测试webpack",
      "main": "index.js",
      "scripts": {
        "build": "webpack",
        "dev": "webpack-dev-server --inline --hot --config webpack.config.js"
      },
      "author": "zouqin",
      "license": "ISC",
      "devDependencies": {
        "babel-core": "^6.18.2",
        "babel-loader": "^6.2.7",
        "babel-preset-es2015": "^6.18.0",
        "babel-preset-react": "^6.16.0",
        "css-loader": "^0.26.0",
        "react": "^15.4.0",
        "react-dom": "^15.4.0",
        "react-hot-loader": "^3.0.0-beta.6",
        "style-loader": "^0.13.1",
        "webpack": "^1.13.3",
        "webpack-dev-server": "^1.16.2",
        "react-router": "^3.0.2"
      }
    }
    

      webpack.config.js

    var path = require("path");
    module.exports = {
      entry:[
        './src/js/app.js'
      ],
      output: {
        path: path.resolve('./', "dist"),
        publicPath: "build",
        filename: "bundle.js"
      },
      module: {
          loaders: [
              {test: /.js?$/, exclude: /node_modules/,  loaders: [ 'babel?presets[]=react,presets[]=es2015' ] },
              { test: /.css$/, loader: 'style!css'}
          ]
        },
      resolve:{
            extensions:['','.js','.json']
        },
    };
    
    

      index.html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style>
    	</style>
    </head>
    <body>
    	<div id="app"></div>
    	<script src="build/bundle.js"></script>
    </body>
    </html>
    

      src/js/.app.js

    import { Router, Route, hashHistory } from 'react-router';
    import ReactDOM from 'react-dom';
    import React from 'react';
    import Hello from './hello';
    import About from './about';
    ReactDOM.render((
      <Router history={hashHistory}>
        <Route path="/" component={Hello}/>
        <Route path="/about" component={About}/>
      </Router>
    ), document.getElementById('app'));
    

      src/js/hello.js

    import React from 'react';
    class Hello extends React.Component{
    	constructor(props) {
    		super(props);
    	}
    	render() {
        	return(<div>我是hello页面</div>);
      	}
    
    }
    
    module.exports =  Hello;
    

      src/js/about.js

    import React from 'react';
    class About extends React.Component{
    	constructor(props) {
    		super(props);
    	}
    	render() {
        	return(<div>我是about页面</div>);
      	}
    
    }
    
    module.exports =  About;
    

      效果:

      1.浏览器地址里输入:http://localhost:8080/ 跳转如下的地址:

      2.浏览器地址里输入:http://localhost:8080/#/about:

  • 相关阅读:
    Spring Boot项目配置RabbitMQ集群
    rabbitMQ第二篇:java简单的实现RabbitMQ
    SpringBoot启动和停止脚步
    SpringBoot实战之SpringBoot自动配置原理
    maven profile 多环境
    Mybatis根据配置文件获取session(多数据源)
    Mybatis的mapper注册
    MyBatis SqlSessionFactory的几种常见创建方式
    Result映射成对象和List
    JAVA反射的使用之ResultSet的自动转换
  • 原文地址:https://www.cnblogs.com/xiaochongchong/p/6419497.html
Copyright © 2020-2023  润新知