怎样使用开发react应用脚手架

这次给大家带来怎样使用开发react应用脚手架,使用开发react应用脚手架的注意事项有哪些,下面就是实战案例,一起来看一下。

1. 介绍

在开发react应用时,应该没有人用传统的方法引入react的源文件(js),然后在html编辑吧。

大家都是用webpack + es6来结合react开发前端应用。

这个时候,我们可以手动使用npm来安装各种插件,来从头到尾自己搭建环境。

比如:

npm install react react-dom --savenpm install babel babel-loader babel-core babel-preset-es2015 babel-preset-react --savenpm install babel webpack webpack-dev-server -g

登录后复制

虽然自己搭建的过程也是一个很好的学习过程,但是有时候难免遇到各种问题,特别是初学者,而且每次开发一个新应用,都要自己从头搭建,未免太繁琐。

于是,有人根据自己的经验和最佳实践,开发了脚手架,避免开发过程中的重复造轮子和做无用功,从而节省开发时间。

类似这样的脚手架,我扫了网络上比较多人用和关注的,一共发现了三个,它们分别是:

react-boilerplate

react-redux-starter-kit

create-react-app

它们的关注量都非常大,截至写这篇文章为止,在github上的star量是这样的:

怎样使用开发react应用脚手架怎样使用开发react应用脚手架怎样使用开发react应用脚手架

由此可见,使用这三个脚手架的人都相当多,最突出的是create-react-app。

它是后来居上,他的开发时间都晚于前两个,但关注量却比他们还大,而且他还是facebook官方开发的。

肯定是一个优秀的产品。

下面来介绍一下它的特点。

2. 特点

它有好多好多的优点,先从安装使用说起。

2.1 简单的安装使用

create-react-app安装起来实在是太简单,只需要一条命令,不像别的脚手架,还需要去clone整个脚手架的源码,再在那基础上改。

npm install -g create-react-app

登录后复制

装完之后,生成一个新的项目,可以使用下面的命令:

create-react-app my-appcd my-app/

登录后复制

创建了my-app目录,这个时候,使用下面的命令就可以开始开发应用了。

npm start

登录后复制

默认情况下,会在开发环境下启动一个服务器,监听在3000端口,它会主动给你打开浏览器的,可以立刻就看到这个app的效果。

怎样使用开发react应用脚手架

是不是很简单?

2.2 源码结构简单清晰

在项目my-app目录中,你会发现源码非常清晰,没有多余的文件。

怎样使用开发react应用脚手架

真的很清爽,所有的源码你将放到src目录下,什么配置文件,各种乱七八糟都不用管,你只需要专注开发就好了,create-react-app都给你处理好了。

整个源码简单,又小又清爽!管理起来也方便!

如果你使用过webpack-dev-server或webpack搭建过开发环境,你就会发现,create-react-app的开发环境也有类似webpack-dev-server的–inline –hot自动刷新的功能。

什么意思呢?

就是一旦源码文件,一更新,再保存之后,浏览器会自动刷新,让你能实时查看效果。

你总要探究一下是怎么回事,难道create-react-app也用上了webpack-dev-server?

翻看了一下源码,没有找到webpack.config.js文件,如果有使用webpack就应该有这个文件,好奇怪。

看了一下node_modules目录,也没找到webpack相关的东西。

怎样使用开发react应用脚手架

先源头入手,我是用npm start命令来运行项目的。

就从package.json文件入手,它的内容是这样的:

怎样使用开发react应用脚手架

看到了这行:

"start": "react-scripts start"

登录后复制

react-scripts又是什么?

在node_modules目录中能找到它,它果然依赖了好多工具,其中就包括’webpack’。

怎样使用开发react应用脚手架

里面果然也有webpack的配置文件,也有好多脚本文件。

原来它是facebook开发的一个管理create-react-app服务的工具。

原来也是它让整个源码变得很整洁的。

因为它隐藏了没必要的文件,大多数人的配置都是差不多的。

除此之外,它还加入了eslint的功能。让你在开发过程中,更关注于代码,很不错。

怎样使用开发react应用脚手架

2.3线上编译命令

这个是create-react-app的一个大亮点,它能让你的应用骗译出在线上生产环境运行的代码,编译出来的文件很小,且文件名还带hash值,方便我们做cache,而且它还提供一个服务器,让我们在本地也能看到线上生产环境类似的效果,真的超级方便。

只需一行命令:

npm run build

登录后复制

怎样使用开发react应用脚手架

运行下面两条命令,可以查看线上生产环境的运行效果。

npm install -g pushstate-serverpushstate-server build

登录后复制

编译好的文件都会放到build目录中。

怎样使用开发react应用脚手架

2.4 api开发

在开发react应用时,难免与服务器进行数据交互,就是要跟api打交道。

这个时候,有一个问题。

api存在的服务器可能是跟react应用完全分开的,而且,开发环境跟线上环境又不太一样。

比如,开发环境中,你的react应用是跑在3000端口的,可是api服务可能跑在3001端口,这个时候,你跟api服务器交互的时候,可能会使用fetch或各种请求库,比如jquery的ajax。

这个时候可能会遇到CORS问题,毕竟端口不同,而线上环境却没有这个问题,因为你都控制线上环境的react应用和api应用,跑在同一个端口上。

按照以往思路,解决的方法可能是用环境变量,比如:

复制代码 代码如下:

const apiBaseUrl = process.env.NODE_ENV === ‘development’ ? ‘localhost:3001’ : ‘/’

但是这样搞起来,还是有些复杂,然而,create-react-app提供了一个超级简单的方法,只需要在package.json文件中,加一个配置项就可以了。

比如:

"proxy": http://localhost:3001/,

登录后复制

至于你用的是http的何种请求库,都是一样的,不用改任何代码。这个选项,只对开发环境有效,线上环境还是保持react应用和api应用同一个端口。

有以上这么多的优点,你还有理由不用吗?

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

Vue怎样实现beforeEnter钩子函数

怎样使用vue实现选项卡及选项卡切换效果

以上就是怎样使用开发react应用脚手架的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2751042.html

(0)
上一篇 2025年3月8日 05:46:24
下一篇 2025年3月8日 05:46:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Vue前端开发有哪些规范

    这次给大家带来Vue前端开发有哪些规范,Vue前端开发规范的注意事项有哪些,下面就是实战案例,一起来看一下。 基于Vue官方风格指南整理 一、强制 1. 组件名为多个单词 组件名应该始终是多个单词的,根组件 App 除外。 正例: expo…

    2025年3月8日
    200
  • 详细为你讲解Immutable及 React 中实践技巧

    immutable 可以给 react 应用带来数十倍的提升,也有人说 immutable 的引入是近期 javascript 中伟大的发明,因为同期 react 太火,它的光芒被掩盖了。这篇文章主要介绍了immutable及 react …

    2025年3月8日
    200
  • 在React中使用Native如何实现自定义下拉刷新上拉加载的列表

    本篇文章主要介绍了react native 自定义下拉刷新上拉加载的列表的示例,现在分享给大家,也给大家做个参考。 在移动端开发中列表页是非常常见的页面,在React Native中我们一般使用FlatList或SectionList组件实…

    编程技术 2025年3月8日
    200
  • 在vue-star中如何实现评星组件开发

    下面我就为大家分享一篇vue-star评星组件开发实例,具有很好的参考价值,希望对大家有所帮助。 star文件夹下建立Star.vue,及相关的图片信息。便于组件的就近维护 Star.vue:     const LENGTH = 5; c…

    2025年3月8日
    200
  • 怎样实现React diff算法

    这次给大家带来怎样实现React diff算法,实现React diff算法的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 在上一篇文章,我们已经实现了React的组件功能,从功能的角度来说已经实现了React的核心功能了。 但是…

    2025年3月8日
    200
  • 如何使用vue多页面开发与打包

    这次给大家带来如何使用vue多页面开发与打包,使用vue多页面开发与打包的注意事项有哪些,下面就是实战案例,一起来看一下。 前段时间做项目,技术栈是vue+webpack,主要就是官网首页加后台管理系统 根据当时情况,分析出三种方案 一个项…

    2025年3月8日 编程技术
    200
  • 如何使用react redux

    这次给大家带来如何使用react redux,使用react redux的注意事项有哪些,下面就是实战案例,一起来看一下。 环境准备 为了方便,这里使用create-react-app搭建react环境 create-react-app m…

    编程技术 2025年3月8日
    200
  • React高阶组件使用详解

    这次给大家带来React高阶组件使用详解,React高阶组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 是什么 高阶组件是一个函数,能够接受一个组件并返回一个新的组件。没有任何副作用。 为什么用 封装并抽离组件的通用逻辑,让此部…

    编程技术 2025年3月8日
    200
  • 在React组件中详细讲解this的使用方法。

    这篇文章主要介绍了react组件中的this的具体使用,现在分享给大家,也给大家做个参考。 React组件的this是什么 通过编写一个简单组件,并渲染出来,分别打印出自定义函数和render中的this: import React fro…

    2025年3月8日
    200
  • 在使用React组件中转 Vue 组件的命令写法有哪些?

    本文先介绍两个框架的组件共性和不兼容的地方,再介绍react-to-vue的使用和原理,需要的朋友可以参考下 基于目前React和Vue比较火,开发react-to-vue 工具的目的是为了进一步提高组件的可复用用性,让组件复用不仅仅局限在…

    2025年3月8日
    200

发表回复

登录后才能评论