面向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相关知识哦(●'◡'●)。 如果不足,请多指教。

目录
相关文章
|
13天前
|
API 数据安全/隐私保护 UED
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
在掌握了鸿蒙系统的开发基础后,我挑战了蓝牙功能的开发。通过Bluetooth A2DP和Access API,实现了蓝牙音频流传输、设备连接和权限管理。具体步骤包括:理解API作用、配置环境与权限、扫描并连接设备、实现音频流控制及动态切换设备。最终,我构建了一个简单的蓝牙音频播放器,具备设备扫描、连接、音频播放与停止、切换输出设备等功能。这次开发让我对蓝牙技术有了更深的理解,也为未来的复杂项目打下了坚实的基础。
99 58
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
|
3天前
|
安全 搜索推荐 数据挖掘
虾皮店铺商品API接口的开发、运用与收益
虾皮(Shopee)作为东南亚领先的电商平台,通过开放API接口为商家和开发者提供了全面的数据支持。本文详细介绍虾皮店铺商品API的开发与运用,涵盖注册认证、API文档解读、请求参数设置、签名生成、HTTP请求发送及响应解析等步骤,并提供Python代码示例。API接口广泛应用于电商导购、价格比较、商品推荐、数据分析等场景,带来提升用户体验、增加流量、提高运营效率等收益。开发者需注意API密钥安全、请求频率控制及遵守使用规则,确保接口稳定可靠。虾皮API推动了电商行业的创新与发展。
54 31
|
1天前
|
监控 搜索推荐 API
京东JD商品详情原数据API接口的开发、运用与收益
京东商品详情API接口是京东开放平台的重要组成部分,通过程序化方式向第三方提供商品详细信息,涵盖名称、价格、库存等。它促进了京东生态系统的建设,提升了数据利用效率,并推动了企业和商家的数字化转型。开发者可通过注册账号、获取密钥、调用接口并解析返回结果来使用该API。应用场景包括电商平台的价格监控、竞品分析、个性化推荐系统开发、移动应用开发及数据整合与共享等。该接口不仅为企业和开发者带来商业价值提升、用户体验优化,还助力数据资产积累,未来应用前景广阔。
18 9
|
5天前
|
存储 搜索推荐 API
拼多多根据ID取商品详情原数据API接口的开发、运用与收益
拼多多作为中国电商市场的重要参与者,通过开放平台提供了丰富的API接口,其中根据ID取商品详情原数据的API接口尤为重要。该接口允许开发者通过编程方式获取商品的详细信息,为电商数据分析、竞品分析、价格监测、商品推荐等多个领域带来了丰富的应用场景和显著的收益。
35 10
|
4天前
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
22 5
|
11天前
|
存储 API 计算机视觉
自学记录HarmonyOS Next Image API 13:图像处理与传输的开发实践
在完成数字版权管理(DRM)项目后,我决定挑战HarmonyOS Next的图像处理功能,学习Image API和SendableImage API。这两个API支持图像加载、编辑、存储及跨设备发送共享。我计划开发一个简单的图像编辑与发送工具,实现图像裁剪、缩放及跨设备共享功能。通过研究,我深刻体会到HarmonyOS的强大设计,未来这些功能可应用于照片编辑、媒体共享等场景。如果你对图像处理感兴趣,不妨一起探索更多高级特性,共同进步。
68 11
|
8天前
|
JSON API 开发者
Lazada 商品评论列表 API 接口:开发、应用与收益
Lazada作为东南亚领先的电商平台,其商品评论数据蕴含丰富信息。通过开发和利用Lazada商品评论列表API接口,企业可深入挖掘这些数据,优化产品、营销和服务,提升客户体验和市场竞争力。该API基于HTTP协议,支持GET、POST等方法,开发者需注册获取API密钥,并选择合适的编程语言(如Python)进行开发。应用场景包括竞品分析、客户反馈处理及精准营销,帮助企业提升销售业绩、降低运营成本并增强品牌声誉。
25 2
|
12天前
|
供应链 搜索推荐 API
1688榜单商品详细信息API接口的开发、应用与收益
1688作为全球知名的B2B电商平台,为企业提供丰富的商品信息和交易机会。为满足企业对数据的需求,1688开发了榜单商品详细信息API接口,帮助企业批量获取商品详情,应用于信息采集、校验、同步与数据分析等领域,提升运营效率、优化库存管理、精准推荐、制定市场策略、降低采购成本并提高客户满意度。该接口通过HTTP请求调用,支持多种应用场景,助力企业在电商领域实现可持续发展。
55 4
|
11天前
|
监控 搜索推荐 API
京东按图搜索京东商品(拍立淘)API接口的开发、应用与收益
京东通过开放商品详情API接口,尤其是按图搜索(拍立淘)API,为开发者、企业和商家提供了创新空间和数据支持。该API基于图像识别技术,允许用户上传图片搜索相似商品,提升购物体验和平台竞争力。开发流程包括注册账号、获取密钥、准备图片、调用API并解析结果。应用场景涵盖电商平台优化、竞品分析、个性化推荐等,为企业带来显著收益,如增加销售额、提高利润空间和优化用户体验。未来,随着数字化转型的深入,该API的应用前景将更加广阔。
56 1
|
19天前
|
监控 供应链 搜索推荐
阿里妈妈商品详情API接口:开发、应用与收益的深度剖析
阿里妈妈是阿里巴巴旗下的数字营销平台,其商品详情API接口为开发者提供了获取淘宝、天猫等电商平台商品详细信息的工具。本文介绍了该接口的开发流程、应用场景及带来的收益,揭示了其在电商生态中的重要地位。
88 6