面向Vite API开发

简介: 本文主要讲vite API 使用


网络异常,图片无法展示
|


hello 大家好,🙎🏻‍♀️🙋🏻‍♀️🙆🏻‍♀️

我是一个热爱知识传递,正在学习写作的作者,ClyingDeng 凳凳!


vite 简介


首先,知道vite的,都知道Vite是一个开发构建工具

特点就是:启动快、更新快

至于它是为什么快呢?


原因主要有两个:


1、vite利用浏览器native ES Module特性按需导入源码,浏览器直接向devServer 逐个请求各个模块,而不需要将所有文件打包。

网络异常,图片无法展示
|

2、vite借助 esbuild 超快的编译速度把第三方库进行预构建,一方面将零散的文件打到一起,减少网络请求,另一方面全面转换为 ESM 模块语法,以适配浏览器内置的 ESM 支持。


vite不仅体验丝滑,而且不会随着项目规模的变大,使开发过程出现卡顿。请求一个页面,就加载页面相关内容,当然其根本原因还是模块的按需导入。

至于担忧的话,vue3在还不支持proxy的浏览器上无法使用(无需担忧插件的兼容性问题)。


vite API 使用


结构目录


在html中:


<script type="module" src="/src/main.js"></script>


index是宿主,mian.js是入口。esm模块化方式引入main.js。根据只加载所需运行的页面。


网络异常,图片无法展示
|


静态资源加载


对于img图片 我们可以这样使用:


<img alt="Vue logo" src="@/assets/logo.png" />
<img alt="Vue logo" :src="logo" />
<script setup>
import logo from './assets/logo.png'
</script>


不仅可以静态绑定图片,还可以通过js导入,动态绑定。但是对于这来个那种绑定来说,多少还是有点区别的:

网络异常,图片无法展示
|

可以看出vite内部会对sfc文件进行编译,可看出会在页面上create一新的元素节点,其图片路径也变成了相对应的。


又或者这样设置图片:(可以在vite.config.js中去配置@别名。)


<div class="log"></div>
 <style>
.log {
  background-image: url(@/assets/logo.png);
  width: 200px;
  height: 200px;
}
</style>


style


在导入全局css文件时,直接全局直接import 所需全局文件即可。但是对于局部的,css文件引入我们有两种方式,一种模块化module、一种scoped。


<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <img alt="Vue logo" :src="logo" />
  <div :class="$style.log"></div>
  hello word
</template>
<script setup>
import logo from '@/assets/logo.png'
</script>
// 模块化
<style module>
.log {
  background-image: url(@/assets/logo.png);
  width: 200px;
  height: 200px;
  border: 1px solid #333;
}
</style>
<style scoped>
img {
  border: 1px solid #f0f;
}
</style>


网络异常,图片无法展示
|

通过控制台,我们也可以看出两种不同的style方式,其编译的结果也不同。module方式会将类名进行单独命名,而scope会在相应元素上加上data-v,选择器会侵入到元素内部。


模块化css


在vite中,样式解耦的方式也与之前有所不同。在样式中以.module.css结尾的是模块化css。多个sfc中可以共同使用同一个css文件下的某个样式。


<div :class="classes.log">kkk</div>
<script setup>
// 模块化css
import classes from './index.module.css'
</script>
// index.module.css文件
.logo {
  background-image: url(@/assets/logo.png);
  width: 200px;
  height: 200px;
}


scss


直接安装sass依赖,在style上加上lang="scss" 就可使用scss语法


postcss


使用postcss,我们可以安装postcss的一个插件。autoprefixer插件依赖(添加供应商前缀)。


在项目中添加postcss.config.js


module.exports = {
  plugins: [
    require('autoprefixer'),
  ]
}


如果我们要修改输入框的placeholder样式,可以这样使用:


<input type="text" placeholder="请输入" />
::placeholder {
  color: aqua;
}


其他


关于ts、数据mock、代码规范可以自己去查看相关阐述。尤其是代码规范eslint版本匹配可能会存在很多版本不兼容,这个是会存在很多版本不兼容的问题的。


下面是一个比较推荐的依赖配置:


"@typescript-eslint/eslint-plugin": "^4.15.2",
"@typescript-eslint/parser": "^4.15.2",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^7.0.0",
"@vuedx/typescript-plugin-vue": "^0.6.3",
"eslint": "^7.20.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.6.0",  
"prettier": "^2.2.1",


期望


虽然vite的构建速度很快,但是仍旧有许多提示不友好,不稳定的问题存在。

在vite的推广之路上,仍旧是任重道远。


感兴趣的朋友可以关注 vite系列专栏或者点击关注作者哦!会持续输出vite相关知识哦(●'◡'●)。 如果不足,请多指教。

目录
相关文章
|
3月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
4月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
4月前
|
人工智能 自然语言处理 机器人
使用 API 编程开发扣子应用
扣子(Coze)应用支持通过 API 编程,将 AI 聊天、内容生成、工作流自动化等功能集成至自有系统。主要 API 包括 Bot API(用于消息交互与会话管理)及插件与知识库 API(扩展功能与数据管理)。开发流程包括创建应用、获取密钥、调用 API 并处理响应,支持 Python 等语言。建议加强错误处理、密钥安全与会话管理,提升集成灵活性与应用扩展性。
1429 0
|
6月前
|
数据采集 测试技术 API
小白必看!电商 API 开发避坑指南:签名错误、权限申请全解决
本文总结电商API开发常见问题与解决方案,涵盖京东、淘宝、拼多多的签名规则、权限申请、频率限制等核心踩坑点,结合实战案例,助你高效避坑,提升开发效率90%。
|
6月前
|
存储 监控 API
零基础 3 天搞定京东 / 淘宝 API 开发,从注册到调通接口全流程拆解
本文详解京东/淘宝API开发入门,涵盖账号注册、应用创建、签名生成及实战项目,助零基础开发者3天掌握电商API调用,实现商品数据获取与价格监控。
|
6月前
|
人工智能 自然语言处理 测试技术
Apipost 与 Apifox 深度对比:谁是 API 开发的最佳拍档?
在 API 开发中,Apipost 与 Apifox 是两款流行的国产工具。本文通过实际项目的对比发现,Apipost 在 AI 功能方面表现突出,如 AI 自动生成文档、测试用例、脚本等,显著提升开发效率。基础功能上,Apipost 也更全面,支持离线使用、OpenAPI 格式导出、多种协议及数据库字典导入,界面简洁易用,综合性能优于 Apifox。
318 5
|
5月前
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
447 0
|
5月前
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
6月前
|
数据采集 缓存 监控
唯品会 API 开发痛点解析:从权限申请到数据清洗的实战经验
本文深入解析唯品会开放平台(VOP)API开发全流程,涵盖权限申请、签名机制、数据清洗、性能优化等核心挑战与实战解决方案,助力开发者高效构建稳定可靠的电商数据整合系统。
|
3月前
|
API 开发者 数据采集
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案
2025反向海淘新机遇:依托代购系统,聚焦小众垂直品类,结合Pandabay数据选品,降本增效。系统实现智能翻译、支付风控、物流优化,助力中式养生茶等品类利润翻倍,新手也能快速入局全球市场。
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案