React飞行日记(一)- 脚手架的基本使用(create-react-app)

news/2024/7/11 0:40:11 标签: react, 软件框架, javascript, es6

基础使用

React是FaceBook公司研发的一款JS框架(MVC)

  1. 【React的脚手架】简介

    配置webpack是一个比较复杂的工作, 需要自己安装许多的包, 还要写复杂的配置文件, 使用脚手架能帮我们快速的构建一套自动化工程项目结构, 有助于提高开发效率(自动配置开发前所有的依赖和设置)

  2. CREATE-REACT-APP】 的使用

    1. 安装

      npm install create-react-app -g	  // 安装在全局
      
    2. 使用

      create-react-app [项目名称]
      
      // 项目名称: 小写字母 | 数字 | - | _
      // 如果之前没有安装React
      /*
       *	cnpm install packages
       *	cnpm install react
       *	cnpm install react-dom
       *	cnpm install cra-template
       */
      
  3. 【项目目录】

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZZO1PSJE-1592815827985)(React.assets/image-.png)]

    node_modules 项目依赖

    public 存放的是当前项目的HTML文件

    ​ .html 文件中中文件的导入

    • <!-- 
      在React中, 所有逻辑都是在JS中完成的, 包括页面的创建, 
      	如果想给页面导入CSS或者JS,有两种方式导入
      1.JS中基于ES6 Module模块规范, 会使用import导入, 这样webpack在编译时候, 就会把对应的资源导入到页面中
      	<link rel="apple-touch-icon" href="%PUBLIC_URL%/log o192.png" />
      2. 如果不想在JS中导入, 也可以把资源手动在HTML中导入, 但是HTML也要基于webpack编译要把%PUBLIC_URL%写成绝对地址
      	<link rel="manifest" href="C:/index/data/manifest.json" /> 
      -->
      

    src 项目最重要的目录, 所有JS, 路由, 组件都是放在这个里面(包括css, 图片等)

    .gitignore git提交时忽略的文件目录

    package.json 当前项目的依赖清单

    1. dependencies : 项目依赖
    2. scripts : 当前可运行的脚本
      1. yarn start : 默认监听3000端口, 并且打开浏览器, 代码一旦改动就刷新页面
      2. yarn start : 编译项目, 使用这个命令可以打包压缩项目

深入配置

  1. webpack第三方模块安装

    create-react-app脚手架为了让目录结构清晰, 把安装的webpack配置项都放在了node_modules/react-scripts模块中

    但是 ! [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R0GpzRx8-1592815827988)(React.assets/.jpg)]

    在真实的项目中, 我们需要在脚手架默认的安装的配置基础上加自己的东西, 例如

    react-ruter-dom/axios...这些默认配置没有的东西, 那怎么办呢?

    1. 如果我们安装其他的组件, 但是安装后不需要被webpack处理, 此时可以直接安装使用

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S2KeRALE-1592815827990)(React.assets/image-.png)]

    2. 如果安装的插件是基于webpack处理的, 也就是需要把模块配置到webpack中(就需要重新修改webpack配置了)

      具体操作:

      • 首先要把隐藏到node_module中的配置暴露到项目中
      • 再去修改对应的配置项

      比如 less, 我们预览项目的时候, 看到的是webpack编译后的内容, 如果使用了less, 需要在webpack中修改配置项, 在配置项中加入less的编译工作, 这样后期查看项目, 里面less才会生效

      1. 在项目根目录下输入命令

        > $ yarn eject			# 过程不可逆转
        
      2. 项目下会暴露两个文件

        config webpack配置文件

        scripts 可执行的js脚本文件

      3. 安装less加载器

        > $ yarn add less-loader
        
      4. 生产环境, 开发环境下的webpack都要修改

        module -> rules -> oneOf 下添加

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-57gYoqWO-1592815827993)(React.assets/image-.png)]

  2. 修改配置命令

    修改默认端口

    set HTTPS=true&&npm start
    

    修改协议

    set PORT=3000&&npm start
    


http://www.niftyadmin.cn/n/1831894.html

相关文章

OJ中的语言选项里G++ 与 C++的区别

概念上&#xff1a;C是一门计算机编程语言&#xff0c;而G则是C的编译器。GCC和G都是GUN的编译器&#xff0c;cc是Unix系统的C Compiler&#xff0c;而gcc则是GNU Compiler Collection&#xff0c;GNU编译器套装。gcc原名为Gun C语言编译器&#xff0c;因为它原本只能处理C语言…

DB2性能调节工作总结

近期负责了Metric项目的服务器性能维护&#xff0c;对DB2的性能调节做了些研究。整体感觉数据库调优的关键点应该还是在建库阶段&#xff0c;好的查询更能得到更好的性能。而后期对数据库参数等的调节结果并不是非常明显的。网上数据库调节方面的资料也很多&#xff0c;但大多数…

CentOS 6.x 修改用户最大进程数

为什么80%的码农都做不了架构师&#xff1f;>>> 一般在/etc/security/limits.conf 中修改最大打开文件数和进程数&#xff0c;如&#xff1a; soft noproc 10240hard noproc 10240soft nofile 10240hard nofile 10240但是在CentOS 6.3下&#xff0c;noproc的设置无…

React飞行日记(二) -邂逅React

-React 渐进式框架: 最流行的框架设计思想 我们在使用一个框架的时候, 如果只想使用其中几个功能, 但是需要引入一个庞大的框架, 过于臃肿, 这时候渐进式框架的特点就来了 特点: 能够把各个功能进行拆分, 让用户自己组合功能, 想要什么功能就拿什么 全家桶 渐进式框架N多种部…

复利计算单元测试

测试不成功&#xff0c;结果是对的&#xff0c;但测试不通过&#xff0c;结果如图&#xff1a; 转载于:https://www.cnblogs.com/w304/p/5335308.html

Hibernate 4 之buildSessionFactory方法废弃问题

2019独角兽企业重金招聘Python工程师标准>>> 在hibernate 4 中用如下的方法即可获得sessionFactory sessionFactory configuration.buildSessionFactory(new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build()); 转载于:ht…

算法复杂度衡量算法好坏的误区

衡量算法好坏的一般标准是渐进表示的时间复杂度。在n极大的情况下O&#xff08;n&#xff09;的算法就没有O&#xff08;lgn&#xff09;的算法好。因为n不一定会是非常大&#xff0c;因此常数项可能也会非常重要。这些都是非常明显的道理。但是&#xff0c;实际上还有另外一个…

java语言环境搭建

Java语言的环境搭建需要Java开发工具包&#xff08;JDK&#xff09;和Java运行环境&#xff08;JRE&#xff09;。简单来说Java开发需要JDK&#xff0c;Java运行需要JRE。JDK与JRE都可以独立安装&#xff0c;但JDK中包含了JRE&#xff08;开发Java肯定不能没运行测试&#xff0…