详解使用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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
Javascript 面向对象之重载
May 04 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
May 06 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
Jun 22 Javascript
JS按字节截取字符长度实例
Nov 20 Javascript
Backbone.js的Hello World程序实例
Jun 19 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
Aug 07 Javascript
AngularJS 日期格式化详解
Dec 23 Javascript
浅析javaScript中的浅拷贝和深拷贝
Feb 15 Javascript
js实现本地时间同步功能
Aug 26 Javascript
vue生成token并保存到本地存储中
Jul 17 Javascript
Vue Cli3 创建项目的方法步骤
Oct 15 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 Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
js 回车提交表单两种实现方法
2012/12/31 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
python进阶教程之词典、字典、dict
2014/08/29 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Python zip()函数用法实例分析
2018/03/17 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
在python中修改.properties文件的操作
2020/04/08 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
介绍下static、final、abstract区别
2015/01/30 面试题
自我评价怎么写正确呢?
2013/12/02 职场文书
品牌宣传方案
2014/03/21 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
文员岗位职责范本
2015/04/16 职场文书
个人求职意向书
2015/05/11 职场文书
红歌会主持词
2015/07/02 职场文书
Django程序的优化技巧
2021/04/29 Python
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android