使用CDN库方式
<script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
<script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
<script src="http://static.runoob.com/assets/react/browser.min.js"></script>
- react.min.js React核心库
- react-dom.min.js 提供DOM相关的功能
- browser.min.js 用于将JSX语法转为javascript语法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
<script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
<script src="http://static.runoob.com/assets/react/browser.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">
ReactDOM.render(
<h1>hello world</h1>,
document.getElementById('app')
);
</script>
</body>
</html>
使用脚手架方式
我们使用webpack作为脚手架
首先新建目录test,进入test目录
安装webpack
- npm init
- npm install
- npm install webpack
- npm install webpack-dev-server --save-dev
安装react
- npm install react --save
- npm install react-dom --save
安装一些babel插件
- npm install babel
- npm install babel-core
- npm install babel-loader
- npm install babel-preset-react
- npm install babel-preset-es2015
创建一些必须的文件
- touch index.html
- touch App.jsx
- touch main.js
- touch webpack.config.js
配置webpack设置编译器、服务器、载入器
var path = require('path')
var webpack = require('webpack')
module.exports = {
entry: './main.js',
output: {
path:'./',
filename: 'index.js',
},
devServer: {
inline: true,
port: 7777
},
module: {
loaders: [ {
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['es2015', 'react']
}
}]
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production')
}
}),
new webpack.optimize.UglifyJsPlugin()
]
}
根目录新建index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<div id="app"></div>
<script src="index.js"></script>
</body>
</html>
根目录新建mian.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App.jsx';
ReactDOM.render(<App />, document.getElementById('app'))
根目录新建App.jsx
import React from 'react';
class App extends React.Component {
render() {
return (
<div>
Hello World!!!<br />
你好世界!!!
</div>
);
}
}
export default App;
配置服务
打开package.json 找到scripts节点,插入
"scripts": {
"start": "webpack-dev-server --hot",
"build": "webpack --progress --hide-modules"
},
启动服务
npm start