Vite学习 -- 05

一.使用path.resolve的原因以及node端模块化原理的简单了解.
我们在main.js中引入文件的时候,一定会读文件.
我们如果写的是相对路径 , 那么他会尝试去拼接成绝对路径.
commonjs 规范 注入几个变量 __dirname.
eg:

const fs = require('fs'); // 处理文件的模块 (读文件, 修改文件等一系列操作).
const path = require('path');// path本质上就是一个字符串处理模块,它里面非常多的路径字符串处理方法.

// path.resolve在拼接字符串.

const result = fs.readFileSync(__dirname + '/index.js'); //我们希望基于main.js去进行一个绝对路径的生成.

console.log('result', result.toString(), procss.cwd(), __dirname);
console.log(path.resolve(__dirname,"./main.js"));

// node端去读取文件或者操作文件的时候,如果发现你用的是相对路径,则会去使用process.cwd()来进行对应的拼接.
// process.ced: 获取当前的node执行目录.

二. vite对静态资源的处理以及别名配置.
vite对静态资源基本上是开箱即用的. vite对svg依旧是开箱即用的.

  1. tree shaking 摇树优化: 打包工具会自动帮你移除掉那些你没有用到的变量或者方法, 如果你用的不是vite, 在其他的一些构建工具里,json 文件的导入会作为一个JSON字符串形式存在.
    在这里插入图片描述
    在resolve.alias里面配置路径别名.
    三. vite对svg资源的处理
    vite对svg 依旧是开箱即用的.

svg: 可伸缩矢量图形.
1.svg是不会失真的 2. svg尺寸小.
缺点: 没法很好的去表示层次丰富的图片信息.

我们在前端领域里更多的是用svg去做图标.


// 第一种使用svg的方式.
// const img = document.createElement('img');
// img.src = svgIcon;
// document.body.appendChild(img);

// 第二种加载svg的方式
// import svgRaw from './assets/svgs/fullScreen.svg?raw'; // 二进制 Buffer.
// import svgIcon from './assets/svgs/fullScreen.svg?url';

// console.log('svgIcon', svgIcon, svgRaw);

// const svgElement = document.getElementsByTagName("svg")[0];

// svgElement.onmouseenter = function() {
//     // 不是去改他的background 也不是 color.
//     // 而是fill属性.
//     this.style.fill = 'red';
// }

四. vite配置文件中对静态资源在生产环境的一些配置.

打包后的静态资源为什么要有hash?
由于浏览器的缓存机制,静态资源名字只要不改,那么他就会直接用缓存的. 刷新页面: 请求的名字是不是同一个? 名字相同,读取缓存.
hash算法: 将一串字符串经过运算的到一个新的乱码字符串。利用好hash算法可以让我们更好的去控制浏览器缓存机制.

  build: { // 构建生产包时的一些配置策略
    rollupOptions: { // 配置rollup的一些构建策略
      output: { // 控制输出
         // 在rollup里面,hash代表将你的文件名和文件内容进行组合计算得来的结果.
        assetFileNames:  "[hash].[name].[ext]"
      }
    },
    assetsInlineLimit: 4096, // 4kb. 图片资源小于4kb, 会被打包成base64格式.
    outDir: 'testDist' , // 打包之后输出的chunk的名称 (配置输出目录)
    assetsDir: 'static', //打包之后静态资源文件夹的名称. (配置输出目录中的静态资源目录)
  } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Create React App项目迁移到Vite,可以按照以下步骤进行操作: 1. 首先,将原来的脚本替换为Vite的脚本。根据引用中的内容,将原来的脚本替换为以下内容: ```json "scripts": { "start": "vite", "build": "vite build", "test": "vite test", "eject": "vite eject" } ``` 2. 接下来,需要将Create React App项目的相关文件和依赖迁移到Vite项目中。可以通过以下步骤进行操作: - 将src目录下的文件和文件夹复制到Vite项目的src目录下。 - 将public目录下的文件和文件夹复制到Vite项目的public目录下。 - 将package.json中的依赖项复制到Vite项目的package.json中,并运行```npm install```来安装这些依赖。 3. 最后,运行```npm start```命令启动Vite开发服务器,以确保项目能够正常运行。根据Vite的文档,Vite会自动检测你的项目的文件并进行相应的构建和热更新。 通过以上步骤,你就成功将Create React App项目迁移到Vite,并可以使用Vite的优化和快速开发能力来加快你的项目开发过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vite 3.0 vs. Create React App:比较和迁移指南](https://blog.csdn.net/weixin_47967031/article/details/127160448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值