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 实施文档 ########################################################################## ...
随机推荐
- AtCoder Beginner Contest 117 解题报告
果然abc都是手速场. 倒序开的qwq. D题因为忘记1e12二进制几位上界爆了一发. A - Entrance Examination 就是除一下就行了... 看样例猜题意系列. #include& ...
- (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!
Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...
- Balloons
题目链接:http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=2401 类似求连通块的问题,可以参考紫书(P162 油田),对这两个人分别执行dfs. ...
- shiro中authc和user的权限区别
前者(authc)是认证过,后者(user)是登录过,如果开启了rememberMe功能的话,后者(user)也是可以通过的,而前者(authc)通过不了.故我们用authc来校验一些关键操作,比如购 ...
- CSS3实现基本图形
http://blog.csdn.net/laokdidiao/article/details/51189476 代码: <!DOCTYPE html> <html> < ...
- 批处理bat标准化获取当前系统日期的几种方法,补0
首先有两个推荐的方案. 一: for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get Loc ...
- Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset(01字典树求最大异或值)
http://codeforces.com/contest/706/problem/D 题意:有多种操作,操作1为在字典中加入x这个数,操作2为从字典中删除x这个数,操作3为从字典中找出一个数使得与给 ...
- 小程序之image图片实现宽度100%,高度自适应
哇 今天搞了半天 图片一直变形啊啊啊啊 宽度100% 高度给100% 给auto 完全不管用啊啊啊啊 然后最后最终!!!! 首先我们要给我们的图片一个100%的宽度!让它自适应!! .g ...
- LockInt
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Game.Lo ...
- colgroup和col的区别
转载自:http://blog.csdn.net/carefree31441/article/details/3291397 colgroup和col一般出现在表格当中定义表格单独列的任意属性col能 ...