详解使用create-react-app快速构建React开发环境


Posted in Javascript onMay 16, 2018

最近在折腾react开发,总结一个react环境搭建的教程,写得比较细碎,基本上就是自己的搭建步骤了,希望能够帮助到有需要的小伙伴。

常用的脚手架

  1. react-boilerplate
  2. react-redux-starter-kit
  3. create-react-app(git上关注量最大)

使用 create-react-app 快速构建 React 开发环境

create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境。

create-react-app 自动创建的项目是基于 Webpack + ES6 。

执行以下命令创建项目:

$ cnpm install -g create-react-app
$ create-react-app my-app
$ cd my-app/
$ npm start

tips:

如果使用 npm 速度很慢,你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org
$ npm config set registry https://registry.npm.taobao.org

如何编译less

1.暴露出配置文件

npm run eject

2.安装less-loader 和less

npm install less-loader less --save-dev

3.修改webpack 配置

修改 webpack.config.dev.js 和 webpack.config-prod.js 配置文件

test: /\.css$/ 改为 /\.(css|less)$/

在这个test的下面找到use,添加loader

{
  loader: require.resolve('less-loader') // compiles Less to CSS
}

好了 重新运行项目 less已经编译了

项目结构

src目录

src目录用来存放我们自己的代码,可以在src下面创建子目录,只有src根目录下的文件会被webpack编译,所以必须把文件放在src根目录下,否则不会识别。

public目录

只有public目录下的文件才会被public/index.html引用

tip:public和src下的index.html文件必须存在不能改名

常用命令

1启动命令

npm start

2编译打包命令。在生产环境中编译代码,并放在build目录中能够正确的打包代码,并且优化,压缩,使用hash重命名文件

npm run build

3.文件修改后测试

npm test

4.结构命令。暴露出webpck的配置命令,原本在脚手架中,配置项是不可见的,需要修改才执行这个命令(这是一个单项命令,一旦结构,不可逆。)

npm run eject

5.https运行

set HTTPS=true&&npm start

6.线上编译

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

只需一行命令:

npm run build

7.api开发

只需要在package.json文件中,加一个配置项就可以了。

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

8.ajax?
替代用fetch

npm install whatwg-fetch
import 'whatwg-fetch'
fetch('/power-mnjy-mobile/intf/h5/user/login?mobile=13000000001&pwd=a111111&ignoreCsrfToken=true')
  .then(res => res.json())
  .then((data) => {
   this.setState({ value:data });
  });

调试工具react developer tools(https://github.com/facebook/react-devtools)

在chrome中添加扩展程序react developer tools,记得重启浏览器(重启 重启 重启,重要的事情说三遍),在chrome的开发工具里面会出现react选项。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
jQuery 使用手册(一)
Sep 23 Javascript
js使用正则实现ReplaceAll全部替换的方法
Jul 18 Javascript
jquery超简单实现手风琴效果的方法
Jun 05 Javascript
纯javascript模仿微信打飞机小游戏
Aug 20 Javascript
javascript实现图片轮播效果
Jan 20 Javascript
js获取元素的标签名实现方法
Oct 08 Javascript
jQuery实现限制文本框的输入长度
Jan 11 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
BACKBONE.JS 简单入门范例
Oct 17 Javascript
vue 实现数字滚动增加效果的实例代码
Jul 06 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
Jun 07 Javascript
seajs下require书写约定实例分析
May 16 #Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
May 16 #Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 #Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
May 16 #Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
May 16 #Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 #Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 #jQuery
You might like
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
php 保留字列表
2012/10/04 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python中的index()方法使用教程
2015/05/18 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python机器学习之神经网络实现
2018/10/13 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
python实现静态web服务器
2019/09/03 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
淘宝活动策划方案
2014/02/06 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
毕业设计论文评语
2014/12/31 职场文书
旷工辞退通知书
2015/04/17 职场文书
花木兰观后感
2015/06/10 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
拙作再改《我的收音机情缘》
2022/04/05 无线电