安装webpack

一起学React | 快速搭建React+webpack 开发环境_java

webpack易于配置,与React配合简单易用,同时引用具有强大魔力的Babel,可以让我们轻松地用最新的标准编写React代码。

开始创建一个项目文件夹,用且用npm init --yes 命令生成一个 package.json 文件作为开始。然后确认是否安装了 webpack 和 webpack-dev-server。 我们通过以下命令进行安装:

npm install webpack webpack-dev-server  -g 进行全局安装或者

npm install webpack webpack-dev-server  --save-dev 直接作为项目依赖。 

关于webpack的使用介绍,大家可以查看小编前几天的介绍的文章《JS基础一起学 | Webpack入门篇》。

一起学React | 快速搭建React+webpack 开发环境_java_02 

安装配置Babel

一起学React | 快速搭建React+webpack 开发环境_java

Babel是一个JavaScript编译器,使用Babel的目的有两个,一个是让代码支持ES6语法,一个是支持React的一些特性(例如JSX语法)

安装Babel loader

//安装babel-core核心模块和babel-loader

npm install babel-core babel-loader --save-dev

//安装 ES6 和 React 支持

 npm install babel-preset-es2015 babel-preset-react --save-dev

配置 .babelrc

安装完Babel和它的插件,接下来在目录里新建一个 .babelrc的空文件。示例代码如下:

{
  : [, ]
}

安装配置 ESLint

在多人开发项目中,代码规范也是非常重要的,今天给大家推荐的是ESLint,它的强大之处和Babel有点相似,是可配置可检查规则的,而且提供了非常多的第三方插件,适合不同的开发场景,最值得一提的是支持ES6语法,还支持JSX语法,简直和React太搭啦!

安装 ESLint loader

npm install eslint eslint-loader --save-dev

//安装相关插件

npm install eslint-plugin-import eslint-plugin-react  eslint-plugin-jsx-ally --save-dev

npm install eslint-config-airbnb --save-dev

配置 .eslintrc

{
    : ,
    : {
        : [, ]
    }
}
 

配置 webpack

两大开发工具安装好后,我们现在就可以使用webpack把他们结合一起。这里我们需要在装一个webpack的插件-html-webpack-plugin,他可以帮助我们自动生成HTML页面,并且引入正确的JavaScript文件依赖。

npm install html-webpack-plugin --save-dev

在项目根目录里建一个webpack.config.js 文件

= require();
= require();
= require();
= .(__dirname);
= .(, );
= .(, );
.= {
  : {
    : .(, )
  },
  : {
    : ,
    : },

  : ,
  : {
    : ,
    : ,
    : ,
    : },
  : {
    : [, , ],
    : },
  : {
    : [
      {
        : ,
        : [],
        : }
    ],
    : [
      {
        : ,
        : [],
        : }    ]
  },
  : [
    ({
      : })
  ]
}

npm可以添加自定义命令,将两条命令加到package.json里面,一个是运行webpack命令、Build整个项目,一个是启动本地的 webpack-dev-server来进行开发。

最终完成后的package.json文件如下:

{
  : ,
  : ,
  : ,
  : ,
  : {
    : ,
    : },
  : [],
  : ,
  : ,
  : {
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : ,
    : },
  : {
    : ,
    : }
}
一起学React | 快速搭建React+webpack 开发环境_java_02 

添加测试页面

一起学React | 快速搭建React+webpack 开发环境_java

各项准备工作都完成了,我们添加一个测试页面 app.jsx ,看看是否能够正常运行,页面代码如下:

React from ;
ReactDOM from ;

App() {
  (
    
      Hello 前端达人
    
  );
}

app = document.createElement();
document.body.appendChild(app);
ReactDOM.render(, app);

接下来在项目根目录运行 npm run dev,大功告成,成功运行后就会看到运行后的效果,如下图:


一起学React | 快速搭建React+webpack 开发环境_java_06

一起学React | 快速搭建React+webpack 开发环境_java_02 

添加组件热加载(HMR)功能

一起学React | 快速搭建React+webpack 开发环境_java

现在每次修改组件的代码,都会造成页面的刷新,如果更新代码后只更新局部组件,而不要求直接刷新,那不是更好?现在只要简单安装Babel的preset就可以轻松完成。

npm install babel-preset-react-hmre --save-dev

然后我们修改下 .babelrc 的配置,代码如下:

{
  : [, ],
  : {
   : {
     : []
   }
  }
}

配置完毕,启动 npm run dev

接下来我们进行验证,随便修改H1标签的文字,发现页面没有刷新,但是内容改变了。