相信这个话题很多人都感兴趣,这里就用几个简单的命令就可以搭建出 react 的开发环境。

1. 安装 react

要使用 react,就必须装下面两个包的。

  1. $ npm install --save react react-dom

2. 建立 babel

可能你不懂 babel 是什么,你可以把它理解为编译器,它能把 react 代码转成一般浏览器可读可执行的代码,通常可以用它来转化 reactvue 这样的前端代码,或者把 es6 代码转成普通的 javascript 代码等等。

如果还不理解的话,可以看我这篇文章 babel 入门指南

要让 babel 很好的转化 react 代码,首先要安装好 babel,再装 babel 转化 react 的包。

运行下面的命令。

  1. $ npm install --save-dev babel-core babel-preset-react babel-preset-env

创建 .babelrc 文件。

  1. {
  2. "presets": ["env", "react"]
  3. }

为什么我知道要这么做呢?

因为我是分别结合 babelreact 的官网给的最新官方指南。

可以参考下面两个链接:

3. 在 webpack 使用 babel-loader

最后我们需要在 webpack 中使用一个 loader 来转化 react 的代码。

首先,安装。

  1. $ npm install --save-dev babel-loader

webpack.config.js

  1. var HtmlWebpackPlugin = require('html-webpack-plugin');
  2. const ExtractTextPlugin = require('extract-text-webpack-plugin');
  3. module.exports = {
  4. entry: './src/app.js',
  5. ...
  6. module: {
  7. rules: [
  8. {
  9. test: /\.scss$/,
  10. use: ExtractTextPlugin.extract({
  11. fallback: 'style-loader',
  12. //resolve-url-loader may be chained before sass-loader if necessary
  13. use: ['css-loader', 'sass-loader']
  14. })
  15. },
  16. // 这两行是处理 react 相关的内容
  17. { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
  18. { test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ }
  19. ]
  20. }
  21. };

4. 写 react 组件

接着我们来准备一些 react 的代码,要来测试一下。

src/index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Hello World</title>
  6. </head>
  7. <body>
  8. <div id="root"></div>
  9. </body>
  10. </html>

src/app.js

  1. import css from './app.scss';
  2. import React from 'react';
  3. import ReactDOM from 'react-dom';
  4. import Root from './Root';
  5. ReactDOM.render(
  6. <Root></Root>,
  7. document.getElementById('root')
  8. );

src/Root.js

  1. import React from 'react';
  2. export default class Root extends React.Component {
  3. render() {
  4. return (
  5. <div style={{textAlign: 'center'}}>
  6. <h1>Hello World</h1>
  7. </div>);
  8. }
  9. }

效果如下:

8. 用 webpack 和 babel 配置 react 开发环境 - 图1

参考链接:

先说这么多吧。