• react 基本配置使用


    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:UsersHPDesktop
    eact-antD
    eact-antd
    ode_modulesantdlibstylecolorezierEasing.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 里面:

  • 相关阅读:
    SpringMVC之五:自定义DispatcherServlet配置及配置额外的 servlets 和 filters
    DTP模型之一:(XA协议之三)MySQL数据库分布式事务XA优缺点与改进方案
    Spring Bean基本管理--bean注入方式汇总
    类装载器ClassLoader
    spring中的BeanFactory与ApplicationContext的作用和区别?
    Spring IoC,IoC原理
    mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用
    session.write类型引发的思考---Mina Session.write流程探索.doc--zhengli
    MyBatis的association示例——MyBatis学习笔记之三
    MyBatis一对多双向关联——MyBatis学习笔记之七
  • 原文地址:https://www.cnblogs.com/muamaker/p/9617447.html
Copyright © 2020-2023  润新知