Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >配置React开发环境教程

配置React开发环境教程

作者头像
用户1203875
发布于 2018-07-20 01:58:31
发布于 2018-07-20 01:58:31
71500
代码可运行
举报
文章被收录于专栏:Rovo89Rovo89
运行总次数:0
代码可运行

这是一篇新手向文章,主要是记录一下使用过程,希望能给予别人一些帮助和提示

用 Yarn 做包管理 用 Babel 做jsx和es6语法编译器 Webpack 做模块管理和打包

教程是基于macOS的,Nodejs得提前安装好。我的Nodejs和npm的版本如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node -v
v6.9.2

npm -v
3.10.9

Yarn安装和配置

我们在 macOS 下可以通过brew去安装,如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew update
brew install yarn

Yarn 下载的包或者模块都是跟npm一个源的,因为某些原因,下载速度非常慢,难受,所以我们得换源,如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn config set registry 'https://registry.npm.taobao.org'

通过查看是否换源成功 yarn config get registry

项目初始化

打开你的终端,新建文件夹然后进入该文件夹,用yarn init去做初始化,过程类似npm init,会有几个选项需要你填写,你可以根据你的需要去填写,这里我就直接一路回车就可以了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir react-demo
cd react-demo
yarn init

init完之后,就会提示success Saved package.json,说明初始化成功,我们可以查看一下package.json有什么东西

vim package.json

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "name": "react-demo",
    "version": "1.0.0",
    "main": "index.js",
    "license": "MIT"
}

webpack安装和配置

yarn add webpack webpack-dev-server path

安装完毕,你会发现当前目录多了个yarn.lock,这个文件是Yarn用来锁定当前的依赖,不用担心

现在,我们已经安装好webpack了,我们需要一个配置文件用来执行,如下

touch webpack.config.js

然后更新该文件内容为如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const path = require('path');
module.exports = {
  entry: './client/index.js',
  output: {
    path: path.resolve('dist'),
    filename: 'index_bundle.js'
  },
  module: {
    loaders: [
      { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
      { test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ }
    ]
  }
}

从配置文件内容可以看出,为了让webpack运行,我们需要一个入口entry和一个输出output

为了能让JSX代码或者是ES6的代码也能正常在浏览器运行,我们需要loaders去装载babel-loader

更多的loaders我们可以查看webpack文档

Babel安装和配置

yarn add babel-loader babel-core babel-preset-es2015 babel-preset-react --dev

在webpack配置过程中,我们用到了babel-loader,除了这个外,我们同样需要babel的其他依赖

babel-preset-es2015 babel-preset-react这两个是 Babel 的插件,告诉Babel将es2015react的代码编译为Vanilla JS

安装完毕,我们还需要去配置Babel,新建一个文件为.babelrc

touch .babelrc

然后更新该文件内容为如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "presets":[
        "es2015", "react"
    ]
}

webpack中的loader的 babel-loader 就是根据这个去执行

配置入口文件

现在我们的目录结构如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
|-- node_modules
|-- .babelrc
|-- package.json
|-- webpack.config.js
|-- yarn.lock

我们需要创建新的文件夹,同时在新文件夹内新建index.jsindex.html文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir client
cd client
touch index.js
touch index.html

然后我们更新一下index.js的内容为

console.log('Hello world!')

同样地,我们也要更新一下index.html内容为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>React App Setup</title>
  </head>
  <body>
    <div id="root">

    </div>
  </body>
</html>

index.html是我们react组件运行在浏览器上的载体,react组件编写是jsx,同时也用到了es6,由于大多数浏览器是不支持es6和jsx,所以我们必须通过Babel编译这些代码,然后绑定输出显示在index.html上。

index.html是我们react组件运行在浏览器上的载体,react组件编写是jsx,同时也用到了es6,由于大多数浏览器是不支持es6和jsx,所以我们必须通过Babel编译这些代码,然后绑定输出显示在index.html上。

同时我们还需要html-webpack-plugin包为我们生成html

`cd .. yarn add html-webpack-plugin ` 安装完成后,打开webpack.config.js然后添加下面配置信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const path = require('path');

const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackPluginConfig = new HtmlWebpackPlugin({
  template: './client/index.html',
  filename: 'index.html',
  inject: 'body'
})

module.exports = {

    ...

    module: {
        loaders: [
            ...
        ]
    },

    plugins: [HtmlWebpackPluginConfig]
}

我们引入html-webpack-plugin,然后创建它的实例,然后配置template、filename和inject,其中inject: 'body'`是告诉插件添加JavaScript到页尾,在闭合body标签前

为了可以运行它,我们需要配置package.json,在"dependencies": {}代码块前插入如下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"scripts": {
    "start": "webpack-dev-server"
},

然后我们就可以运行了

yarn start

终端出现如下内容

Project is running at http://localhost:8080/

我们打开浏览器,输入http://localhost:8080/,在开发者工具Console,发现有一段信息为Hello world!

react安装与配置

yarn add react react-dom

然后进入client目录,创建组件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd client
mkdir components
cd components
touch App.jsx
cd ../..

现在我们项目目录结构如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
|-- node_modules
|-- client
     |-- components
         |-- App.jsx
     |-- index.html
     |-- index.js
|-- .babelrc
|-- package.json
|-- webpack.config.js
|-- yarn.lock

然后我们更新一下App.jsx文件的内容如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React from 'react';

export default class App extends React.Component {
  render() {
    return (
     <div style={{textAlign: 'center'}}>
        <h1>Hello World Again</h1>
      </div>);
  }
}

我们还需要修改一下我们的入口文件index.js,替换内容为如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.jsx';

ReactDOM.render(<App />, document.getElementById('root'));

然后在终端输入yarn start

刷新http://localhost:8080/,就能看到Hello World Again

至此,通过 Yarn 包管理,配置webpack和Babel,去搭建编写react组件的开发环境的新手向教程就此完毕

Last modification:May 11th, 2018 at 03:45 pm

© The copyright belongs to the author

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hello ReactJS
前言 React学习前先搭好环境,官网的例子看着比较分散。结合webpack就可以体验完整的es6开发流程了。 源码:https://github.com/Ryan-Miao/hello-react-js/releases/tag/0.1 1. 环境搭建 涉及以下几个技术。但从hello world的角度说,目前先不用知道是干嘛的,先用来学习react,后面再去研究各个组件的功能。 Webpack - A module bundler Babel - A Javascript compiler ES6 -
Ryan-Miao
2018/03/13
1.3K0
Hello ReactJS
搞清楚怎样基于 Webpack5 从 0 搭建 React开发环境-超详细
出处 @刘江 ,原文地址 https://juejin.cn/post/6929496472232656909
zz_jesse
2021/04/21
2.5K0
搞清楚怎样基于 Webpack5 从 0 搭建 React开发环境-超详细
详解从 0 发布 react 组件到 npm 上
之前我发布了我的第一个 npm 组件,一个基于 react 的 3d 标签云组件。在这途中我也是遇到了很多的坑,花在完善整个发布流程的时间远多于写这个组件本身的时间,所以我记录下我觉得一个正常的 react 组件的发布流程
桃翁
2019/03/04
1.6K0
详解从 0 发布 react 组件到 npm 上
webpack手动配置React开发环境
React提供了create-react-app的快速构建工具, 但作为一个专业的程序员(老司机), 面对复杂的项目, 入门级的构建工具, 是远远不够的, 我们这里从零开始, 用webpack, 手动
zhaoolee
2018/07/03
9660
(24/24) webpack小案例--自己动手用webpack构建一个React的开发环境
通过前面的学习,对webpack有了更深的认识,故此节我们就利用前面相关知识自己动手用webpack构建一个React的开发环境,就算是一个小案例吧。
wfaceboss
2019/04/08
7390
(24/24) webpack小案例--自己动手用webpack构建一个React的开发环境
webpack构建自定义react应用
首先我们要确定,react并不是在webpack中像插件一样安装就可以直接使用,我们需要支持jsx以及一些es6的一些比较新的语法,在creat-react-app这个脚手架中已经帮我们高度封装了react项目的一些配置,甚至你是看不到很多的配置,比如@babel/preset-react转换jsx等。所以我们需要知道一个react项目需要哪些插件的前提条件,本文主要参考从头开始打造工具链[1]
Maic
2022/07/28
5250
webpack构建自定义react应用
Webpack5构造React多页面应用
来源 | https://github.com/zhedh/react-multi-page-app/
winty
2021/01/07
3.7K0
webpack 4 的 30 个步骤打造优化到极致的 react 开发环境
将 react 和 webpack4 进行结合,集 webpack 的优势于一身,从 0 开始构建一个强大的 react 开发环境。
夜尽天明
2019/06/18
2.3K0
使用 webpack 4 和 Babel 7 构建 React 应用及如何引入 Material Design
在过去的一年和一些人中,我一直在与 Creative Tim 合作。 我一直在使用 create-react-app 来开发一些不错的产品。 有很多客户询问如何在 Webpack 上迁移我们的产品模板。
前端小智@大迁世界
2019/03/15
9.4K0
使用 webpack 4 和 Babel 7 构建 React 应用及如何引入 Material Design
webpack配置React开发环境(上)
Webpack 是一个前端资源加载/打包工具,我们部门的一条主要技术栈就是Webpack+React+ES6+node,虽然之前自己做个人项目也接触好多次Webpack,但是自己并没有研读总结过Web
牧云云
2018/05/02
1.6K0
React 搭建开发环境
本文记录了本人以及目前团队从无到有使用React的过程,我们将从webpack开始说起,一步一步展现React最基本的开发生态。在这里并不会介绍任何jsx或es6相关的语法,只聚焦于如何使用react生态搭建利于团队协作、有利于提升开发效率的开发环境。
随风溜达的向日葵
2018/07/25
1.5K0
React 搭建开发环境
【个人笔记】2023年搭建基于webpack5与typescript的react项目
由于我在另外的一些文章所讨论或分析的内容可能基于一个已经初始化好的项目,为了避免每一个文章都重复的描述如何搭建项目,我在本文会统一记录下来,今后相关的文章直接引用文本,方便读者阅读。此文主要为个人笔记,不会有太多的关于思路的描述;另外,本文仅仅描述如何搭建基础react项目,不涉及图片等资源的加载,关于图片等资源的处理,我会单独编写一期。
w4ngzhen
2023/10/17
3900
【个人笔记】2023年搭建基于webpack5与typescript的react项目
从零学脚手架(五)---react、browserslist
目前,国内主流的前端应用框架具有两个:vue.js和react.js,关于vue和react的优劣性,网上众说纷纭。在下就不在此引战。
莫问今朝
2021/03/16
1.4K0
从零学脚手架(五)---react、browserslist
Webpack搭建ES6开发环境(部分摘自网络)
首先要有node环境,进入Node.js的官网,选择对应系统下载安装包。安装node后集成了npm管理器
江一铭
2022/07/05
2640
使用 Webpack 4 和 Babel 7 从头开始创建 React 应用程序
注:在 webpack 3 中,webpack 和它的 CLI 都是在同一个包中,但在第4版中,他们已经将两者分开来更好地管理它们。所以安装时,最好是 webpack 和 webpack-cli 同时安装
IMWeb前端团队
2019/12/03
8810
使用 Webpack 4 和 Babel 7 从头开始创建 React 应用程序
Webpack系列——手把手教你使用Webpack搭建简易的React开发环境
在这篇文章中我们开始利用我们之前所学搭建一个简易的React开发环境,用以巩固我们之前学习的Webpack知识。首先我们需要明确这次开发环境需要达到的效果:1、能够编译JSX语言 2、css样式使用Sass开发 3.能够将基础的ES6转化为ES5 4.能够使用ESLint在开发的时候为我们做代码风格审查
用户1515472
2019/07/24
1.9K0
Webpack系列——手把手教你使用Webpack搭建简易的React开发环境
webpack3.x文件配置
webpack3.x 主配置webpack.config.js文件,每个模块的详细信息都有一定的注释,如果有不对的地方,还请指教!
White feathe
2021/12/08
8640
Webpack学习总结 【原创】
Webpack学习总结 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian Email: sunjianfeng@csxiaoyao.com QQ: 1724338257 目录导航 Webpack学习总结 1. Webpack 与 Gulp / Grunt 对比 2. 安装 2.1 创建package.json文件 2.2 安装Webpack作为依赖包
CS逍遥剑仙
2018/04/28
2.4K0
Webpack学习总结
WebPack : 模块化解决方案(模块打包机),能够分析项目结构,找到JavaScript模块及浏览器不能直接运行的拓展语言(Scss,TypeScript等),转换和打包为合适的格式供浏览器使用。WebPack把项目当做一个整体,通过一个给定的主文件(如:index.js)开始找到项目的所有依赖文件,使用loaders处理,最后打包为一个(或多个)浏览器可识别的JavaScript文件
csxiaoyao
2018/05/11
2.6K0
webpack 热更新(实施同步刷新)
实现热更新,首先,安装一系列的node命令,如果嫌麻烦,你可以直接看解决方案二,相对来说比较简单。
White feathe
2021/12/08
8290
webpack 热更新(实施同步刷新)
相关推荐
Hello ReactJS
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验