yarn init
"dependencies": {
"react": "^15.4.0-rc.4",
"react-dom": "^15.3.2",
"react-router": "^2.8.1"
},
"devDependencies": {
"babel": "^6.5.2",
"babel-core": "^6.17.0",
"babel-loader": "^6.2.5",
"babel-preset-es2015": "^6.16.0",
"babel-preset-react": "^6.16.0",
"history": "^4.3.0",
"react-hot-loader": "^3.0.0-beta.6",
"webpack": "^1.13.2",
"webpack-dev-server": "^1.16.2"
},
yarn install
yarn add react yarn add webpack --dev ...
+ build + src - webpack.config.js - package.json - index.html - server.js
var webpack = require('webpack');
module.exports = {
entry: [
"webpack-dev-server/client?http://localhost:9000",
'webpack/hot/only-dev-server',
"./src/index"
],
output: {
path: __dirname + '/build',
filename: "bundle.js",
publicPath: '/build/',
},
module: {
loaders: [
{
test: /\.js?$/,
loaders: ["react-hot-loader/webpack",'babel-loader?presets[]=react,presets[]=es2015'],
exclude: /node_modules/
},
{
test: /\.less$/,
loader: "style!css!less"
}
]
},
plugins: [
new webpack.NoErrorsPlugin(),
new webpack.HotModuleReplacementPlugin()
]
};
{
"presets": [ "es2015", "react"],
}
"scripts": {
"start": "node server.js",
"build": "webpack --progress --colors"
}
<!doctype html> <html lang="en" > <head> <meta charset="UTF-8"> <title>React+React-Router+Webpack+Yarn Seed</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> </head> <body > <div id="app"></div> <script src="./build/bundle.js"></script> </body> </html>
import React from 'react';
import ReactDOM from 'react-dom';
import App from './app';
ReactDOM.render(<App />, document.getElementById('app'));
import React, { Component } from 'react';
import { render } from 'react-dom';
import { Router, Route, hashHistory } from 'react-router';
// components
import Links from './components/links.js';
import Start from './components/start.js';
import Guide from './components/guide.js';
import How from './components/how.js';
class App extends Component {
render() {
return (
<Router history={hashHistory}>
<Route path="/" component={Links}>
<Route path="/start" component={Start}/>
<Route path="/how" component={How}/>
<Route path="/guide" component={Guide}/>
</Route>
</Router>
);
}
}
export default App;
import React from 'react';
import { Link } from 'react-router'
let Links = React.createClass({
render() {
return(
<div>
<aside>
<h4>Categories</h4>
<ul role="nav">
<li><Link to="/start" activeStyle={{color:'#3498db'}}>Start</Link></li>
<li><Link to="/how" activeStyle={{color:'#3498db'}}>How</Link></li>
<li><Link to="/guide" activeStyle={{color:'#3498db'}}>Guide</Link></li>
</ul>
</aside>
<div className="page main">
{this.props.children}
</div>
</div>
);
}
});
export default Links;
import React from 'react';
let Start = React.createClass({
render() {
return(
<div className="c-home">
<img alt="guide" src="http://img1.vued.vanthink.cn/vuedd144134a46129d7068d36025d64ba905.png" />
<h4>React+React-Router+Webpack+Yarn Seed</h4>
</div>
);
}
});
export default Start;
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有