快速开发工具 Vite

Turbo 与 Vite:开发工具的对决 让我们先来聊聊速度。Turbo 就像一颗燃烧的火箭,以惊人的速度加载你的应用。这意味着你的用户将享受到更加流畅的体验,无需漫长的等待。它能够将你的代码压缩到更小的尺寸,提高传输效率,同时保护你的代码不被轻易解读。相比之下,Turbo 在内存和 CPU 占用上更加高效,为你的应用节省了宝贵的资源。这就像是一位轻巧敏捷的舞者,在舞台上翩翩起舞,却不占用过多的空间。因此,在选择工具时,务必综合考虑各方面的因素,找到最适合你项目的那把“利剑”。所以,不要犹豫,拿起你的武器,踏上这场充满挑战与乐趣的开发之旅吧! 阅读详情

快速开发工具 vite


摘要:

**概念:**Vite 是一种新型前端构建工具,能够显著提升前端开发体验

**构造:**Vite 主要由一个开发服务器和一套构建指令组成。

Vite底层的服务器转换和转发:以处理ts文件为例

1-读取 format.ts 原文件

2-通过 ESBuild 转换 format.ts 代码为 js 代码

3-当浏览器请求 format.ts 文件时,vite中的服务器Connect转发请求,获取以上ts转换后为js的代码


Vite使用:

1-优化模块化支持

浏览器原生支持模块化,不过具有以下问题:

  • 文件必须明确写上后缀名。
  • 如果某一个模块,加载很多其他的js文件,那么这些js文件都需要依次被加载。
  • 如果代码中有ts/jsx/vue代码,那么浏览器是不识别的。

采用 Vite 之后:

  • 文件不用加后缀名
  • 自动寻找包的入口文件,并合并需要加载的文件
  • 通过 ESBuild 来转换ts等为js

2-直接支持css、ts等

3-Vite提供脚手架


ESBuild:

概念:js打包和构建工具

特点:超快的构建速度,并且不需要缓存。




概念

**官方的定位:**下一代前端开发与构建工具。

**概念:**Vite (法语意为 “快速的”,发音 /vit/) 是一种新型前端构建工具,能够显著提升前端开发体验

如何定义下一代开发和构建工具呢?

我们知道在实际开发中,我们编写的代码往往是不能被浏览器直接识别的,比如ES6、TypeScript、Vue文件等等,所以我们必须通过构建工具来对代码进行转换、编译,类似的工具有webpack、rollup、parcel。但是随着项目越来越大,需要处理的JavaScript呈指数级增长,模块越来越多,构建工具需要很长的时间才能开启服务器,HMR也需要几秒钟才能在浏览器反应出来。所以也有这样的说法:天下苦webpack久矣。



Vite 构造

Vite 主要由两部分组成:

  • 一个开发服务器,它基于原生ES模块提供了丰富的内建功能,HMR的速度非常快速
  • 一套构建指令,它使用rollup打开我们的代码,并且它是预配置的,可以输出生成环境的优化过的静态资源。

在浏览器支持 ES 模块之前,JavaScript 并没有提供原生机制让开发者以模块化的方式进行开发。

这也正是我们对 “打包” 这个概念熟悉的原因:使用工具抓取、处理并将我们的源码模块串联成可以在浏览器中运行的文件。 时过境迁,我们见证了诸如 webpack、Rollup 和 Parcel 等工具的变迁,它们极大地改善了前端开发者的开发体验。 然而,当我们开始构建越来越大型的应用时,需要处理的 JavaScript 代码量也呈指数级增长。包含数千个模块的大型项目相当普遍。 基于 JavaScript 开发的工具就会开始遇到性能瓶颈:通常需要很长时间(甚至是几分钟!)才能启动开发服务器,即使使用 模块热替换(HMR),文件修改后的效果也需要几秒钟才能在浏览器中反映出来。

Vite 旨在利用生态系统中的新进展解决上述问题:

浏览器开始原生支持 ES 模块,且越来越多 JavaScript 工具使用编译型语言编写。

原版:the rise of JavaScript tools written in compile-to-native languages.

理解:现在很多JS工具直接使用原生JS(如ES6),而非转换后的JS(ES5)



浏览器原生支持模块化

如果我们不借助于其他工具,直接使用ES Module来开发有什么问题呢?

  • 文件必须明确写上后缀名。
  • 如果某一个模块,加载很多其他的js文件,那么这些js文件都需要依次被加载。
  • 如果代码中有ts/jsx/vue代码,那么浏览器是不识别的。

事实上,vite就帮助我们解决了上面的所有问题。

**Case:**浏览器原生支持模块化问题

问题:

首先,我们会发现在使用loadash时,加载了上百个模块的js代码,对于浏览器发送请求是巨大的消耗。 其次,我们的代码中如果有TypeScript、less、vue等代码时,浏览器并不能直接识别。

下面演示安装 lodash-es 的问题

pnpm add lodash-es

main.js 直接引入lodash-es 会报错

import { sum, mu1 } from './utils/math.js'
import _ from 'lodash-es' 

const message = "Hello World"
console.log(message)

const foo = () => {
  console.log('foo')
}

foo()

console.log(sum(1, 2))
console.log(mu1(1, 2))

main.js通过原生的方式来进行引入lodash-es

import { sum, mu1 } from './utils/math.js'
import _ from '../node_modules/lodash-es/lodash.default.js'

const message = "Hello World"
console.log(message)

const foo = () => {
  console.log('foo')
}

foo()

// 模块化代码的使用
console.log(sum(1, 2))
console.log(mu1(1, 2))

在浏览器端运行代码,发现会请求和加载很多文件,导致卡顿。

image.png



Vite的安装

首先,我们安装一下vite工具:

npm install vite –g 
npm install vite -d

通过vite来启动项目:

npx vite

采用 Vite 之后:

  • 文件不用加后缀名
  • 自动寻找包的入口文件,并合并需要加载的文件
  • 通过 ESBuild 来转换ts等为js

main.js

// 文件不用加后缀名
import { sum, mu1 } from './utils/math'
// 自动寻找包的入口文件,并合并需要加载的文件
import _ from 'lodash-es' 

const message = "Hello World"
console.log(message)

const foo = () => {
  console.log('foo')
}

foo()

// 模块化代码的使用
console.log(sum(1, 2))
console.log(mu1(1, 2))

反馈如下所示:

image.png



Vite对css的支持

**vite可以直接支持css的处理:**直接导入css即可。

**vite可以直接支持css预处理器,比如less:**直接导入less,之后安装less编译器。

npm install less -D

**vite直接支持postcss的转换:**只需要安装postcss,并且配置 postcss.config.js 的配置文件即可。

npm install postcss postcss-preset-env -D

注:postcss.config.js 在 vite 内部已经配置好了

Case:

main.js

import { sum, mu1 } from './utils/math.js'
import _ from 'lodash-es'
import "./css/style.css"
import "./css/normal.less"

const message = "Hello World"
console.log(message)

const foo = () => {
  console.log('foo')
}

foo()

// 模块化代码的使用
console.log(sum(1, 2))
console.log(mu1(1, 2))

const titleEl = document.createElement("h2")
titleEl.textContent = "Hello, Nathan"
titleEl.className = "title"
document.body.append(titleEl)

style.css

body {
  background-color: skyblue;
}

normal.less

@mainColor: red;
@mainSize: 20px;

.title {
  font-size: @mainSize;
  color: @mainColor;

  user-select: none;
}

效果:

image.png

安装postcss后的效果:提供浏览器前缀

image.png



Vite对TypeScript的支持

vite对TypeScript是原生支持的,它会直接使用ESBuild来完成编译,现在只需要直接导入即可。

如果我们查看浏览器中的请求,会发现请求的依然是ts的文件:

这是因为vite中的服务器Connect会对我们的请求进行转发,获取ts编译后的代码,给浏览器返回,浏览器可以直接进行解析。

Vite:

1-读取 format.ts 原文件

2-通过 ESBuild 转换 format.ts 代码为 js 代码

3-当浏览器请求 format.ts 文件时,vite中的服务器Connect转发请求,获取以上ts转换后为js的代码

Case:

format.ts

export function formatPrice(price: number): string {
  return "$" + price
}

main.js

import { formatPrice } from './ts/format.ts'

console.log(formatPrice(1000))

Res:

image.png

注意:在vite2中,已经不再使用Koa了,而是使用Connect来搭建的服务器




Vite打包框架

Vite对vue的支持

vite对vue提供第一优先级支持:

Vue 3 单文件组件支持:@vitejs/plugin-vue

Vue 3 JSX 支持:@vitejs/plugin-vue-jsx

Vue 2 支持:underfin/vite-plugin-vue2

安装支持vue的插件:

npm install @vitejs/plugin-vue -D

在vite.config.js中配置插件:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [
    vue()
  ]
})

补充:vite 提供 defineConfig() ,在里面编写配置会有代码提示



Vite对react的支持

.jsx 和 .tsx 文件同样开箱即用,它们也是通过 ESBuild 来完成的编译:

所以我们只需要直接编写react的代码即可;

注意:在index.html加载main.js时,我们需要将main.js的后缀,修改为 main.jsx 作为后缀名;

main.jsx

import { sum, mul } from './utils/math'
import _ from 'lodash-es'
import { formatPrice } from './ts/format'
import "./css/style.css"
import "./css/normal.less"

import VueApp from './vue/App.vue'
import { createApp } from 'vue'

import ReactApp from './react/App.jsx'
import React from 'react'
import ReactDom from 'react-dom/client'

// es6的代码
const message = "Hello World"
console.log(message)

const foo = () => {
  console.log("foo function exec~")
}
foo()

// 模块化代码的使用
console.log(sum(20, 30))
console.log(mul(20, 30))

console.log(_.join(["abc", "cba"]))

// ts的代码
console.log(formatPrice(10000))

// DOM操作
const titleEl = document.createElement("h2")
titleEl.textContent = "你好啊, 李银河!"
titleEl.className = "title"
document.body.append(titleEl)

// Vue代码渲染
const app = createApp(VueApp)
app.mount(document.querySelector("#app"))

// React代码渲染
const root = ReactDom.createRoot(document.querySelector("#root"))
root.render(<ReactApp />)




Vite 打包项目

我们可以直接通过vite build来完成对当前项目的打包工具:

npx vite build

我们可以通过preview的方式,开启一个本地服务来预览打包后的效果:

npx vite preview



Vue脚手架工具使用

在开发中,我们不可能所有的项目都使用vite从零去搭建,比如一个react项目、Vue项目,

这个时候vite还给我们提供了对应的脚手架工具。

所以Vite实际上是有两个工具的:

  • vite:相当于是一个构件工具,类似于webpack、rollup;
  • @vitejs/create-app:类似vue-cli、create-react-app;

如果使用脚手架工具呢?

npm create vite 
yarn create vite 
pnpm create vite

Case:

nathanchen@NathansMacBook-Pro vite-脚手架 % npm create vite
Need to install the following packages:
  create-vite@5.5.5
Ok to proceed? (y) y
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'create-vite@5.5.5',
npm WARN EBADENGINE   required: { node: '^18.0.0 || >=20.0.0' },
npm WARN EBADENGINE   current: { node: 'v16.19.0', npm: '8.19.3' }
npm WARN EBADENGINE }
✔ Project name: … vue
✔ Select a framework: › Vue
✔ Select a variant: › JavaScript

Scaffolding project in /Users/nathanchen/Downloads/CoderWhy/17_Webpack工程化高级/code/Nathan/vite-脚手架/vue...

Done. Now run:

  cd vue
  npm install
  npm run dev

nathanchen@NathansMacBook-Pro vite-脚手架 % cd vue 



ESBuild

**概念:**ESBuild 是一个由 Evan Wallace 开发的超快速 JavaScript 打包器与构建工具。

ESBuild的特点:

  • 超快的构建速度,并且不需要缓存
  • 支持ES6和CommonJS的模块化
  • 支持ES6的Tree Shaking
  • 支持Go、JavaScript的API
  • 支持TypeScript、JSX等语法编译
  • 支持SourceMap; 支持代码压缩
  • 支持扩展其他插件;

ESBuild的构建速度:

ESBuild的构建速度和其他构建工具速度对比:

image.png


ESBuild为什么这么快呢?

  • 使用Go语言编写的,可以直接转换成机器代码,而无需经过字节码

    注:处理js代码,需要先通过引擎转换为字节码或机器码

  • ESBuild可以充分利用CPU的多内核,尽可能让它们饱和运行

  • ESBuild的所有内容都是从零开始编写的,而不是使用第三方,所以从一开始就可以考虑各种性能问题

  • 等等…

U8+快速开发工具.7z U8快速开发工具是针对客户化开发的特点,基于U8平台而开发的一套简化、快速、高效的U8单据(非UAP表单)开发工具。使用快速开发工具开发的单据与U8标准单据风格一致,可通过数据库脚本的简单调整设置单据上字段格式(文本、日期、参照、下拉框)等。使用快速开发工具开发的单据可以注册单据插件实现复杂逻辑编写。 快速开发工具是基于VB 6.0 开发,依据用友U8单据开发原理开发的适用于客户化快速、高效、简单、易学的特点而开发的一套工具。 立即下载

相关推荐

《统计学习方法》——李航 学习大纲

最近在学习李航写的统计学习方法概论, 每一章都用xmind理清了思路,括号里是书里的公式,第一次写博文,敬请指教~~~~ 第一章 统计学习方法论 第二章 感知机 每个方法其实只需要着重掌握三要素和输入输出就可以了,主要看模型、策略和算法。 感知机主要是二类分类的线性分类模型。 看到后面会注意感知机和支持向量机的区别。 第三章 k近

wjy619251334的博客 1万+

创建vue-vite项目

创建vue-vite项目 Microsoft Windows [版本 10.0.22598.200] (c) Microsoft Corporation。保留所有权利。 E:\桌面\vue\code> E:\桌面\vue\code>npm init vite-app code1 Need to install the following packages: create-vite-app Ok to proceed? (y) y npm WARN deprecated create-vit

qq_45645345的博客 1916

西门子S7-1200的PID应用(恒温热水器)

物料清单:1200PLC一台,模拟量输入模块SM1231(PLC自带的输入通道不支持4-20mA电流输入)一个,PT100一个,温度变送器,热得快,固态继电器。 第一步,硬件接线; 第二步,新建1200工程,添加PLC和模拟量输入模块,修改模块的模拟量输入类型为4-20mA,模拟量模块的IO地址为96-103(8个字); 第三步,新建循环组织块OB30,循环时间选择默认点1...

weixin_30835649的博客 6549

全新的中文安卓快速开发工具

中文编程越多越好! 这样我们老大的新专辑就会有更多人听了! 哒哒哒~ 先上图: (新建项目图可开发安卓、物联网、H5、手机游戏等程序) 安卓项目的可视界面设计器(支持任意位置拖拽布局、线性布局、相对布局等等) 代码输入和智能提示 通过修改JAVA编译器实现中英文混合编写代码 开发工具安卓工程插件简介: 以上的图都是VcnStudio开发安卓项目的截图和界面;其他的后面再发贴。 其中...

a1113414的博客 9408

【Godot】实现对话系统

在 Godot 中实现对话系统(Dialogue System)是游戏开发中的常见需求。Godot本身自带的的灵活性和轻量级脚本语言 GDScript 使得实现对话系统变得相对简单。以下是实现一个基础对话系统的示例。(语言为GDScript但高亮选择Python因为类似)通过 Godot 和 GDScript,我们可以给我们的游戏实现一个对话系统。从简单的文本显示到复杂的分支对话,Godot 提供了足够的灵活性来满足我们的需求。如果需要更高级的功能,可以尝试使用现成的插件如 Dialogic。

Octopus2077的博客 2519

运放 + MOS管构成的恒流电路分析及实用环境器件参数选择

恒流电路

五花带点肉 2万+

开发效率倍增:六大快速应用开发工具推荐

ZohoCreator、Airtable、Webflow、Bubble、AppyPie和MicrosoftPowerApps均为快速应用开发工具,各具特色,支持非技术用户快速构建定制化业务应用。开发的应用不仅能在Web端访问,还能自动转化为原生的iOS和Android移动应用,确保用户无论在何处都能无缝使用,满足多样化的工作场景需求。平台遵循严格的隐私政策和安全标准,提供数据加密、访问控制、审计日志等功能,确保企业数据的安全和合规,适用于需要高度数据保护的行业。

dunniang的博客 1647

AI训练师三级考证避坑指南|假证辨别+机构套路+OSTA验证

这是最基础的问题,也是最容易忽略的问题。人工智能训练师三级证书本身是有价值的——政府认可的职业技能等级证书、多地紧缺工种补贴、人才引进加分。但正因为有价值,才引来了大量骗子。记住三句话OSTA查不到的证,一分钱都不值声称免考包过的,100%是骗子培训费一次性谈清楚,后续加价直接走人如果你正在考虑考人工智能训练师三级证书,想要从报名到备考到拿证的完整一站式指南,欢迎查看我的付费专栏:📖《人工智能训练师三级·从零到拿证完全指南》99篇系统化内容,覆盖报名、备考、冲刺、拿证全流程。

白话机器学习 1219

npm创建项目一直等待

PS D:\vue> npm create vite@latest wsxtmin -- --template vue Need to install the following packages: create-vite@5.5.2 Ok to proceed? (y) y ⠦ 一直在等待

naughty0809的博客 1506

【Unity的HDRP渲染管线下实现好用的GUI模糊和外描边流光效果_Blur_OutLine_案例分享(内附源码)】

因为没有用到纹理,但介于是UI层,没有MainTeX的时候,会提示报错,所以这里加上了MainTex,最后不在片段着色渲染出来既可。这样UI层级显示正常了,但旋转后的模糊效果,跟背景拼接不上,有很大的偏移。猜测是屏幕UV采样错误导致,只要找到屏幕UV数值,更正过来就可以了,RenderTexture设置一下Size既可,其他的先不管。没有贴图,用Shader实现外描边流光效果。将主相机拖入Render Camera。新建一个RenderTexture。

暴走约伯的博客 1149

KoboldCpp vs Ollama vs llama.cpp 全面对比(2026工程视角)

本文对比分析了KoboldCpp、Ollama和llama.cpp三大本地AI推理工具的核心差异。llama.cpp作为基础引擎性能最强但上手困难;KoboldCpp在其基础上增加了UI界面,适合娱乐创作;Ollama则提供最简化的模型管理和API服务。性能实测显示:llama.cpp>KoboldCpp>Ollama。选型建议:新手用Ollama快速入门,玩家选KoboldCpp获得交互体验,工程师用llama.cpp追求极致性能。三者定位清晰:性能极限、使用体验和开发效率各有所长。

刘一说的IT专栏 902

IHP代码生成器使用:快速开发工具详解

IHP代码生成器是一个强大的快速开发工具,能够显著提升Web应用程序的开发效率。通过自动化生成控制器、视图、路由等核心组件,IHP让开发者能够专注于业务逻辑而不是重复的模板代码。 ## 🚀 什么是IHP代码生成器? IHP代码生成器是集成在IHP开发环境中的智能工具,它能够根据数据库表结构自动生成完整的CRUD(增删改查)功能代码。无论是创建新项目还是添加功能模块,代码生成器都能提供极大的便

gitblog_00975的博客 1020

Tesla v100 4张显卡组装机安装vllm和ollama在Ubuntu系统上的安装---AI大模型系统从零开始0032

本文提供Ubuntu22.04系统下vLLM的完整安装指南,适配4×32G Tesla显卡的单机4卡张量并行部署。教程包含:1)硬件要求(Ubuntu22.04、NVIDIA驱动≥535、CUDA12.1+);2)NVIDIA驱动自动安装方法;3)Python3.10虚拟环境配置;4)vLLM官方预编译包一键安装;5)单机4卡启动Qwen3.6-27B模型的完整参数说明(含FP8量化、多进程并行等关键配置)。文末附分布式部署的Ray集群方案参考链接,适用于多机8卡场景。

添柴程序猿的专栏 176

Vue 2 项目如何快速接入 Vite 作为开发工具

当前版本 vite@2.3.7一. 适合什么项目迁移使用 vue2 的系统内部系统 - 无需大型流量场景:因为 vite 更迭较快,导致系统需要定期改动基础功能,造成不稳定非 ssr 系统...

LuckyWinty的博客 2889

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Vue 2 项目如何快速迁移 Vite 作为开发工具

梁晓莹: 微医前端技术部 一只喜欢读书????&&游泳????????的猪猪女孩~????当前版本 vite@2.3.7一. 适合什么项目迁移使用 vue2 的系统内部系...

前端劝退师 1665

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Vite与Vue 3快速上手指南

Vite与Vue 3快速上手指南

偏执的小男孩儿 767

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WebExtension Vite Starter:快速构建现代浏览器扩展

**WebExtension Vite Starter** 是一个由 [Vite](https://vitejs.dev/) 驱动的浏览器扩展(WebExtension)模板,支持 [Chrome](https://developer.chrome.com/docs/extensions/reference/)、[FireFox](https://addons.mozilla.org/en-US/...

gitblog_00441的博客 556

体验Vite快速构建项目

vite

frontlab的博客 515

掌握尤雨溪缔造的Vite,领先99%的人!

想必各位对尤大新出的Vite已经耳熟能详了,是尤雨溪亲手缔造的下一代无打包开发工具相较于WebPack,Vite具有以下突出优势1、快速冷启动2、即时的模块热更新3、真正的按需编译可以说...

weixin_46837985的博客 1216

yarn+vite基本配置

yarn 官网指引 英文官网:Yarn英文官网 中文文档:Yarn中文文档 Yarn 的优点 快速:Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。 可靠:使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。 安全:在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。 window 系统安装 Yarn 下载安装包安装 点我下载Yarn安装包,你将下载到一个 .msi 文件,当它运行时会指引你将 Y

黄敢敢i的博客 2万+

vite —— 一种新的、更快地 web 开发工具

文末福利:开发者藏经阁NO.1vite 是什么vite —— 一个由 vue 作者尤雨溪开发的 web 开发工具,它具有以下特点:快速的冷启动即时的模块热更新真正的按需编译从作者在微博...

azl397985856的专栏 3万+

用 Vite 创建Vue3项目和相关开发工具配置

用vite创建一个vue3项目以及相关开发工具

m0_67372185的博客 1154

npm 编译打包vue_Vite 如何做到让 Vue 本地开发更快速?

vite——一个由 vue 作者尤雨溪专门为 vue 打造的开发利器,其目的是使 vue 项目的开发更加简单和快速。vite 究竟有什么作用?用 vite 文档上的介绍,它具有以下特点:快速的冷启动即时的热模块更新真正的按需编译以上三个优点,社区也早有对应的解决方案,比如快速的冷启动可以借助各种 cli :vue-cli、create-react-app 等等,热更新就更不用说了,不过按...

weixin_42161450的博客 2755

推荐一款高效开发利器:Vite-React-App

推荐一款高效开发利器:Vite-React-App 是一个基于 Vite 和 React 的快速脚手架项目,旨在简化 React 应用程序的初始化和开发流程。这款开源工具将现代前端开发的最佳实践集于一身,无论是新手还是经验丰富的开发者,都能从中受益。 技术分析 Vite 带来的改变 Vite 是由 Vue.js 作者尤雨溪发起的一个新型前端构建工具,它采用了与传统 Webpack 构建工具不同的工...

gitblog_00062的博客 483

如何快速开始一个前端项目

这个是 Node 的一个版本管理工具,下载下来以后可以对 Node 轻松进行版本管理。

Go_ahead_forever的博客 449
上一篇: 自动化工具 Gulp
下一篇: 库打包工具 rollup
CaptainDrake
博客等级 码龄6年 5362粉丝 187原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值