【React】03.脚手架的进阶应用

文章目录

  • 暴露webpack配置
  • 暴露前后的区别
    • config文件夹:
    • scripts文件夹:
    • package.json
  • 常见的配置修改
    • 1.把sass改为less
    • 2.配置别名
    • 3.修改域名和端口号
    • 4.修改浏览器兼容
    • 5.处理Proxy跨域

2023年最新珠峰React全家桶【react基础-进阶-项目-源码-淘系-面试题】

暴露webpack配置

yarn eject

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

暴露前后的区别

暴露成功后生成config、scripts文件夹

config文件夹:

在这里插入图片描述

scripts文件夹:

在这里插入图片描述

package.json

  • dependences
    在这里插入图片描述
    babel-preset-react-app
    对@babel/preset-env语法包的重写(目的:把ES6转为ES5)
    重写的目的:让语法包可以识别React的语法,实现代码转换。

    create-react-app脚手架,默认配置的是sass预编译语言,项目中用的是sass,无需再处理;但是用的是less/stylus,则还需要自己处理。

  • scripts
    在这里插入图片描述

  • babel
    在这里插入图片描述

常见的配置修改

1.把sass改为less

yarn add less less-loader@8
yarn remove sass-loader

在这里插入图片描述

create-react-app脚手架默认webpack规则的修改:直接去暴露的源码中改!
所以需要具备一定的webpack能力.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.配置别名

在这里插入图片描述
在这里插入图片描述

3.修改域名和端口号

在这里插入图片描述
如果想基于环境变量的方式来改:安装cross-env依赖$ yarn add cross-env、修改package.json的scripts配置
在这里插入图片描述

4.修改浏览器兼容

在这里插入图片描述

5.处理Proxy跨域

在src目录中,新建setupProxy.js,
安装依赖$ yarn add http-proxy-middleware

http-proxy-middleware:实现跨域代理的模块(webpack-dev-server的跨域代理原理,也是基于它完成的)

setupProxy.js:

const { createProxyMiddleware } = require("http-proxy-middleware");

module.exports = function (app) {
  app.use(
    createProxyMiddleware("/jian", {
      target: "https://www.jianshu.com/",
      changeOrigin: true,
      ws: true,
      pathRewrite: { "^/jian": "" },
    })
  );

  app.use(
    createProxyMiddleware("/zhi", {
      target: "https://news-at.www.zhihu.com/api/4",
      changeOrigin: true,
      ws: true,
      pathRewrite: { "^/zhi": "" },
    })
  );
};

在这里插入图片描述
https://editor.csdn.net/md?articleId=134125720

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/115315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM 内存和 GC 算法

文章目录 内存布局直接内存执行引擎解释器JIT 即时编译器JIT 分类AOT 静态提前编译器(Ahead Of Time Compiler) GC什么是垃圾为什么要GC垃圾回收行为Java GC 主要关注的区域对象的 finalization 机制GC 相关算法引用计数算法(Reference Count…

Iceberg 基础知识与基础使用

1 Iceber简介 1.1 概述 为了解决数据存储和计算引擎之间的适配的问题,Netflix开发了Iceberg,2018年11月16日进入Apache孵化器,2020 年5月19日从孵化器毕业,成为Apache的顶级项目。 Iceberg是一个面向海量数据分析场景的开放表格…

Cross-Entropy Loss(多分类损失函数)

文章目录 1. 网络输出output:score2. Cross-Entropy Loss(多分类损失函数) 1. 网络输出output:score 2. Cross-Entropy Loss(多分类损失函数) 先用softmax function把score 变成 probabilities。再用交叉熵损失函数来进行Loss的计算

设计模式(23)解释器模式

一、介绍: 1、定义:解释器(Interpreter)模式是一种对象的行为模式。给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 2、组成结构: (1&…

C#__对Json文件的解析和序列化

Json: 存储和交换文本信息的语法。(类似XML,语法独立) 一种轻量级的数据交换格式。(更小,更快,更易解析) 语法规则: 数据在键值对里面,数据由逗号分隔开。 …

android display 杂谈(三)WMS

用来记录学习wms,后续会一点一点更新。。。。。。 代码:android14 WMS是在SystemServer进程中启动的 在SystemServer中的main方法中,调用run方法。 private void run() { // Initialize native services.初始化服务,加载andro…

Azure 机器学习 - 无代码自动机器学习的预测需求

了解如何在 Azure 机器学习工作室中使用自动化机器学习在不编写任何代码行的情况下创建时序预测模型。 此模型将预测自行车共享服务的租赁需求。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕…

面试算法47:二叉树剪枝

题目 一棵二叉树的所有节点的值要么是0要么是1,请剪除该二叉树中所有节点的值全都是0的子树。例如,在剪除图8.2(a)中二叉树中所有节点值都为0的子树之后的结果如图8.2(b)所示。 分析 下面总结什么样的节…

【RtpSeqNumOnlyRefFinder】webrtc m98: ManageFrameInternal 的帧决策过程分析

Jitterbuffer(FrameBuffer)需要组帧以后GOP内的参考关系 JeffreyLau 大神分析 了组帧原理而参考关系(RtpFrameReferenceFinder)的生成伴随了帧决策 FrameDecisionFrameDecision 影响力 帧的缓存。调用 OnAssembledFrame 传递已经拿到的RtpFrameObject 那么,RtpFrameObject…

【面试专题】设计模式篇①

1.工厂设计模式 工厂设计模式是一种创建型模式,它提供了一种创建对象的接口,但具体创建的对象类型可以在运行时决定。工厂设计模式主要解决的是创建对象的灵活性问题。 工厂设计模式主要包括简单工厂模式、工厂方法模式和抽象工厂模式三种。 简单工厂…

深度学习之基于YoloV5的道路地面缺陷检测系统(UI界面)

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、道路地面缺陷检测系统四. 总结 一项目简介 基于YoloV5的道路地面缺陷检测系统利用深度学习中的目标检测算法,特别是YoloV5算法&am…

antd Cascader级联菜单无法赋值回显问题

说起来太丢人了,自己还拿官网例子在这里调试半天,最后发现是一个特别小儿科的问题哈哈 Cascader级联数据是服务端返回然后自己处理过的,使用了cascader的fileNames属性重置字段名,最后发现服务端回传的数据无法赋值回显在组件上&…

vscode设置保存后,自动格式化代码

第一步:打开setting.json文件 第二步:在setting.json中加入以下代码 "editor.formatOnType": true, "editor.formatOnSave": true, "editor.formatOnPaste": true

开发小程序需要多少钱?

随着移动互联网的快速发展,小程序已经成为了企业、个人创业者获取用户、提升品牌影响力的重要工具。然而,对于许多初次接触小程序的人来说,开发小程序需要多少钱,是他们最关心的问题。 首先我们需要明确的是,开发小程…

算法题:870. 优势洗牌

该算法是临时想出来的,Java代码的实现在时间上不占优,之后有时间要优化一下,目前就是给大家提供一下思路。 解题思路:田忌赛马的思想 贪心法。 Step1. 对两个数组进行排序。 Step2. 同时遍历排序后的nums2和nums1,将…

C++初阶(八)类和对象

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、Static成员1、Static概念2、Static特性3、试题 二、友元1、友元的类型2、友元函数3、 友元…

nexus搭建npm私有镜像

假设有一个nexus服务,地址为: http://10.10.33.50:8081/ 创建存储空间 登录后创建存储空间,选择存储类型为File,并设置空间名称为 npm-private 创建仓库类型 2.1 创建hosted类型仓库 创建一个名为 npm-hosted 的本地类型仓库 2.…

毅速丨3D打印在零件修复上潜力巨大

随着科技的飞速发展,3D打印技术逐渐渗透到各个领域,在零件修复方面,3D打印也展现出巨大的潜力和优势。 3D打印技术是一种基于数字模型文件的制造技术,采用逐层堆积材料的方式来制造物体。它具有制造复杂形状零件的能力&#xff0c…

【2024最新】HBuilder X3.1.22【安装】零基础入门到精通,看完这一篇就够了【附安装链接】

软件下载 软件:HBuilder X版本:3.1.22语言:简体中文大小:278.95M安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.0GHz 内存4G(或更高)下载通道①百度网盘丨下载链接:https://pan.bai…

HNU程序设计 练习四-数组(强化)

1.快速公交BRT 【问题描述】 在城市里,快速公交(BRT)线路为一条直线,在其线路上有 n 个交叉路口,在每个路口都有一个交通信号灯,在红灯与绿灯之间周期性循环。 在绿灯亮起持续 g 秒的期间,允许…