详解使用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 相关文章推荐
使用PHP+JQuery+Ajax分页的实现
Apr 23 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
浅析document.ready和window.onload的区别讲解
Dec 18 Javascript
Javascript中this的用法详解
Sep 22 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
Jun 11 Javascript
Bootstrap模态对话框的简单使用
Apr 29 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Sep 29 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
如何使用vue slot创建一个模态框的实例代码
May 24 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
php 地区分类排序算法
2013/07/01 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
js 动态加载事件的几种方法总结
2013/12/25 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
公务员培训自我鉴定
2014/02/01 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
感恩之星事迹材料
2014/05/03 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
2015年新农合工作总结
2015/03/30 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle