React文档(一)安装
React是一个灵活的可以用于各种不同项目的框架,你可以用它来写新应用,你也可以逐步将它引进已有的代码库而不用重写整个项目。
试用React
如果你想玩一玩React,那么就去CodePen上试一试。尝试一下Hello World的React例子。不需要安装任何东西,只是修改代码然后查看结果。
如果你更喜欢在本地编辑,那么你也可以下载此文件,修改它,然后在本地用浏览器打开。但是它会做一个很慢的运行时代码转换,所以不要像这样在产品中使用。
创建一个单页应用
创建React应用这个项目是一个最好的方式去学习如何创建一个新的单页应用。它设置好了开发环境所以你可以使用最新的js特性,它提供了很好的开发体验,最优化你的应用产品。
npm install -g create-react-app
create-react-app hello-world
cd hello-world
npm start
创建React应用不需要处理后台逻辑或者数据库,它只需要建立一个前端的创建管线,所以你可以和各种不同的后台语言配合。它在底层使用了webpack,Babel和ESLint等组件,并为你配置了它们。
添加React到已存在的应用
想要使用React你不需要重写你的应用。
我们建议添加React到应用中的一个小模块里,例如一个独立的小部件,那样你会发现在你的用例下它可以工作得很好。
虽然React不强制需要一个创建管线,但是建议创建一个那样你可以提高效率。一个最新的创建管线一般包括以下几点:
- 一个包管理器,例如Yarn或者npm。它们可以让你利用大量的第三方包,然后很方便地安装和升级。
- 一个打包器,例如webpack或者Browserify。它们让你在开发的时候写模块化的代码然后在完成之后打包集合成更小的包来优化载入时间。
- 一个编译器,例如Babel。它能够让你使用js最新特效,而且兼容所有浏览器。
安装React
建议使用yarn或者npm包管理器来管理前端依赖的包。如果你没用过包管理器,那个到Tarn文档这个网站去学习相关知识。
yarn init
yarn add react react-dom
使用npm安装,运行以下命令:
npm init
npm install --save react react-dom
Yarn和npm都是从npm registry下载依赖包。
建议使用Babel来支持ES6和JS语法。ES6拥有js最新的特性,让开发更加简便,JSX是js语言的扩展,很好的兼容React。
Babel安装操作指南讲解了如何在各种不同的环境配置Babel。确保你已经安装了babel-parset-react和babel-preset-es2015并且让他们在Babel的配置项里正常工作。
使用ES6和JSX创建Hello World程序
建议使用类似webpack和Browserify的打包工具,那么你可以将模块化代码打包成更小的包优化载入时间。
最简单的React例子就像这样:
import React from 'react';
import ReactDOM from 'react-dom'; ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
这段代码渲染了一个DOM元素插入了id名为root的元素里,所以你需要在你的页面里含有<div id="root"></div>。
同样的,你可以渲染一个React组件到一个DOM元素里通过引用其他js UI库。
开发和生产版本
一般默认情况下,React有很多有用的警告。这些警告在开发时有很大的帮助。但是,如果在生产环境下,它会让程序臃肿变慢,所以当你发布应用的时候确保使用生产版本。
创建React App
如果你使用Create React App项目,npm run build将会在build文件夹下创建你的应用。
webpack
通过这个指南可以了解DefinePlugin和UglifyJsPlugin插件在生产环境webpack设置中的作用。
Browserify
把NODE_ENV环境变量设置成production运行Browserify,使用UglifyJS将只在开发中使用的代码剥离出来。
Rollup
使用rollup-plugin-replace和rollup-plugin-commonjs插件来去除开发环境代码。
使用CDN
如果不想使用npm包管理器,那么可以使用CDN:
<script src="https://unpkg.com/react@15/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>
以上是开发环境适用的版本,下面是压缩优化过的,适用于生产环境:
<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
想要使用确定版本号的react和react-dom,替换15为版本号即可。
如果你使用浏览器,React通过react包同样可用。
React文档(一)安装的更多相关文章
- vue mand-mobile按2.0文档默认安装的是1.6.8版本
vue mand-mobile按2.0文档默认安装的是1.6.8版本 npm list mand-mobilebigbullmobile@1.0.0 E:\webcode\bigbullmobile` ...
- React文档(十三)思考React
在我们的看来,React是使用js创建大型快速网站应用的首要方法.它在Facebook和Instagram的使用已经为我们展现了它自己. React的一个很好的地方就在于当你创建应用的时候它使你思考如 ...
- 【G】开源的分布式部署解决方案文档 - 手动安装
G.系列导航 [G]开源的分布式部署解决方案 - 导航 序言 因各种原因,决定先写使用文档.也证明下项目没有太监.至于安装过程复杂,是因为还没有做一键安装,这个现阶段确实没精力. 项目进度 (点击图片 ...
- Android Studio帮助文档的安装及智能提示设置
初次使用Android Studio,发现其智能提示不能像Visual Studio一样显示系统方法等的详细用途描述.经查找资料,问题原因是未安装SDK Document. 解决办法如下: 1.打开如 ...
- React文档(二十四)高阶组件
高阶组件(HOC)是React里的高级技术为了应对重用组件的逻辑.HOCs本质上不是React API的一部分.它是从React的组合性质中显露出来的模式. 具体来说,一个高阶组件就是一个获取一个组件 ...
- react文档demo实现输入展示搜索结果列表
文档页面地址:https://doc.react-china.org/docs/thinking-in-react.html 该文档只给了具体实现思路,下面是我实现的代码. 初学react,如果有写的 ...
- [No0000190]vim8安装教程和vim中文帮助文档Vimcdoc安装方法-Vim使用技巧(5)
Vim8.0是近十年来的一次大更新,支持任务.异步I/O.Channels和JSON以及异步计时器.Lambdas 和 Closures等,还包括对GTK + 3的支持.由于ubuntu默认安装的Vi ...
- 安装部署VMware vSphere 5.5文档 (6-3) 安装配置AD域控制器
部署VMware vSphere 5.5 实施文档 ########################################################################## ...
- 安装部署VMware vSphere 5.5文档 (6-4) 安装配置DB数据库
部署VMware vSphere 5.5 实施文档 ########################################################################## ...
随机推荐
- “64位调试操作花费的时间比预期要长",无法运行调试解决办法
以管理员身份在命令提示符那里打入如下命令: netsh winsock reset catalognetsh int ip reset reset.log hit 或者是 打开Microsoft Vi ...
- P2051 [AHOI2009]中国象棋(动态规划)
思路 好像是一道挺水的计数的,不知道为什么会是紫题 显然每行和每列最多放两个 首先考虑状压,然后发现三进制状压可做,但是三进制太麻烦了,可以拆成两个二进制,一个表示该列是否是放了一个的,一个表示该列是 ...
- p3302 [SDOI2013]森林(树上主席树+启发式合并)
对着题目yy了一天加上看了一中午题解,终于搞明白了我太弱了 连边就是合并线段树,把小的集合合并到大的上,可以保证规模至少增加一半,复杂度可以是\(O(logn)\) 合并的时候暴力dfs修改倍增数组和 ...
- 【Hadoop 分布式部署 十:配置HDFS 的HA、启动HA中的各个守护进程】
官方参考 配置 地址 :http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabili ...
- Neo4j 文档
Graph Fundamentals 基础 Basic concepts to get you going. A graph database can store any kind of data u ...
- 【ASP.NET】 MVC下拉框联动
这个case主要是我在做项目的时候遇到一个需要根据input控件输入的内容,动态填充dropdown list中的内容, 实现二者联动的需求.在搜索了一些资源后,这篇博客解决了我的问题,所以记录并转载 ...
- 【OData】使用Odata获取数据之后再次获取可能得不到最新的数据问题记录
工作上遇到个问题是关于系统后台数据库更新了某数据后, 前台界面刷新显示的不是最新的数据.但是大约10分后再次刷新就能显示新的数据,或者重启IIS等web server host. 最开始认为可能是因为 ...
- HDU 5143 NPY and arithmetic progression(思维)
http://acm.hdu.edu.cn/showproblem.php?pid=5143 题意: 给定数字1,2,3,4.的个数每个数字能且仅能使用一次,组成多个或一个等差数列(长度大于等于3), ...
- win10 安装keras
1.安装Python环境 建议安装Anconda3 ,4.2.0版本 下载地址: https://repo.continuum.io/archive/index.html 或 https://mirr ...
- 一篇好文之Android数据库 GreenDao的完全解析
数据库GreenDao.jpg 之前在开发过程中,数据库基本上会使用Litepal或者SQlite自己写,最近换新环境,公司原先使用的数据库就是GreenDao,在各种情况的作用下,准备了解下Gree ...