react入门的一些配置

安装和启动

npm install -g create-react-app
create-react-app my-app cd my-app
npm start 

创建 ts的项目,可以将第二步改为如下指令即可:

create-react-app my-app --scripts-version=react-scripts-ts

  

react默认是将 webpack配置放置在node_module里面的,需要修改webpack配置,就的反编译出来,其中提供了一个指令

npm run eject

 执行命令是,可能会报错,是因为,需要先将代码提交到git或者svn

 

一、配置使用绝对路径

 因为react 引入模块,总是需要相对路径...,非常麻烦,可以配置绝对路径

1、找到config 下面的 webpack.config.dev.js和webpack.config.prod.js

  webpack.config.dev.js中
  加入如图代码:
   

  

webpack.config.prod.js 加入如下代码

2、使用实例

 二、使用less

 npm install less-loader less --save
 
 dev.js

prod.js

三、打包

当你开发完了,运行 npm run build  ,找到 build文件夹,打开index.html,发现what!!!,,css路径不对。什么鬼

需要改配置:

config->paths.js文件下面,如下地方加一个 “点”

再打包之后,发现,没有问题了。。

 四、图片使用

1、img标签使用,两种方式

 import Oimg from "@/assets/img/6.jpg";

<img src={require("@/assets/img/6.jpg")} alt="" />
<img src={Oimg} alt="" />

2、css使用

background: url("../../assets/img/44.png") no-repeat left top;
 <div className="bg-img" style={{backgroundImage:require("@/assets/img/44.png")}}></div>

  

五、使用装饰器  

react默认没有兼容使用装饰器

npm install --save babel-plugin-transform-decorators-legacy

然后再package.json中

 使用

 六、使用  antd desgin

使用这个,安装官方的流程,安装,引入,并且配置了,babel-plugin-import

使用官方推荐的配置

然后一启动,报错如下。。

Failed to compile
./node_modules/antd/lib/button/style/index.less
Module build failed: // https://github.com/ant-design/ant-motion/issues/44
.bezierEasingMixin();
^
Inline JavaScript is not enabled. Is it set in your options?
in C:\Users\HP\Desktop\react-antD\react-antd\node_modules\antd\lib\style\color\bezierEasing.less (line 110, column 0)
This error occurred during the build time and cannot be dismissed.

原因是 less版本不对,可以执行

npm i --save less@2.7.3

七、初始化state和props

1、state的初始化,通过构造函数

 //在构造函数中对状态赋初始值
constructor(props){
super(props);//第一步,这是必须的
//不能调用state
this.state = {//第二步,赋初始值
time:0,
on:false,
log:[] //数组
};
}

 不使用构造函数

2、props的初始化

class Button extends React.Component{
//静态属性,给属性赋默认值
static defaultProps = {
onClick : null,
className : '',
text : '默认'
}; render(){
return <button className={`Button ${this.props.className}`} onClick={this.props.onClick}>{this.props.text}</button>;
}

3、指定props的类型

import PropTypes from 'prop-types';

class Index extends Component {
//静态属性,给属性赋默认值
static propTypes = {
test: PropTypes.string
}
static defaultProps ={
test:"props=test"
}
state = { } render() {
return (
<div className="_Index"> {this.props.test} </header> </div>
);
}
}

  

八、使用代理 proxy

  在 package.json 里面:

react 基本配置使用的更多相关文章

  1. webpack react基础配置一

    简单介绍webpack react基本配置,入门型: 环境配置: 依赖nodejs,官网下载最新版的nodejs:nodejs.org/en 安装完nodejs  npm便自动集成了,通过npm安装其 ...

  2. 【已解决】React中配置Sass引入.scss文件无效

    React中配置Sass引入.scss文件无效 在react中使用sass时,引入.scss文件失效 尝试很多方法没法解决,最终找到解决方法,希望能帮助正在坑里挣扎的筒子~ 在node_modules ...

  3. react新版本配置代理

    新学习react 开始配置react跨域的时候 在网上查看到是在packjson.json里面添加如下代码: "proxy": { "/api": { &quo ...

  4. React中配置Sass引入.scss文件无效

    React中配置Sass引入.scss文件无效 在react中使用sass时,引入.scss文件失效尝试很多方法没法解决,最终找到解决方法,希望能帮助正在坑里挣扎的筒子~ 在node_modules文 ...

  5. React脚手架配置代理

    react脚手架配置代理 方法一 在package.json中追加如下配置 "proxy":"http://localhost:5000" 说明: 优点:配置简 ...

  6. Facebook React Native 配置小结

    2015 年 9 月 15 号,React Native for Android 发布.至此,React 基本完成了对多端的支持.基于 React / React Native 可以: H5, And ...

  7. webpack入门+react环境配置

    小结放在前:这篇文章主要是为下一篇的react提前铺好路,webpack是一个前端资源模块化管理和打包工具,说白了就是方便我们管理自己的常用的一些代码,比如你开发中用到sass以及jade同时用到es ...

  8. React环境配置

    现在开始配置一个基础项目. 创建项目文件夹:C:\Users\Danny\Desktop\React npm init 创建package.json文件 下面的所有安装,都是--save-dev,因为 ...

  9. react +webpack 配置px2rem

    项目背景需要适配ipad 以及手机端,这时候当然要告别刀耕火种时代啦(自己算rem),因为已经有成熟的工具啦,即px2rem(https://www.npmjs.com/package/px2rem) ...

随机推荐

  1. DataGridView实时提交

    自定义了一个工具,根据DataGridView中的值进行其他操作.在DataGridView中修改了值,直接做其他操作时, 结果DataGridview中的值显示为a,则操作的属性却是没修改后的值b. ...

  2. phpcms v9 的表单向导功能的使用方法 附多个案例

    本文主要介绍phpcms v9的表单向导功能是如何使用的,并副多个案例讲解: 先介绍一下v9 的表单向导如何使用 表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供 ...

  3. oracle中如何生成awr报告

    oracle中如何生成awr报告   1.进入数据库 sqlplus / as sysdba 2.查看用户 show parameter db_name 3.开始压测后执行 exec DBMS_WOR ...

  4. 蓝桥杯_算法训练_区间k大数查询

    问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...

  5. 【每日一题】 UVA - 1599 Ideal Path 字典序最短路

    题解:给一个1e5个点2e5条边,每个边有一个值,让你输出一条从1到n边的路径使得:条数最短的前提下字典序最小. 题解:bfs一次找最短路(因为权值都是1,不用dijkstra),再bfs一次存一下路 ...

  6. 2016年蓝桥杯省赛A组c++第1题

    /* 某君新认识一网友. 当问及年龄时,他的网友说: “我的年龄是个2位数,我比儿子大27岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄” 请你计算:网友的年龄一共有多少种可能情况? 提 ...

  7. 《Mysql 引擎》

    一:什么是引擎? - 就是一种数据存取和处理方式. - 在 MySQL 中,引擎是以"插件式"存在的,使我们可以很方便的使用各种引擎. 二:怎么查看数据库支持的引擎? - show ...

  8. jquery.ajax与axios及定义拦截器

    首先导入jquery和axios包 jquery.ajax function reg(){ var username = $("#username").val(); var pas ...

  9. Servlet (三) 文件下载(只支持英文文件名)

    package cn.sasa.serv; import java.io.FileInputStream; import java.io.IOException; import java.io.Inp ...

  10. bzoj3733 [Pa2013]Iloczyn 搜索

    正解:搜索 解题报告: 先放下传送门QwQ umm其实并不难,,,最近在复建基础姿势点所以都写的是些小水题QAQ 首先考虑如果能构造出来一定是因数凑起来鸭,所以先把因数都拆出来,然后就爆搜 几个常见的 ...