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

目录
相关文章
|
10天前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
53 10
|
11天前
|
API 开发工具 数据库
开发一份API接口,需要注意这些,看你做到了几项
本文介绍了设计API接口时需注意的关键点,包括数字签名、敏感数据加密与脱敏、限流、参数校验、统一返回与异常处理、请求日志记录、幂等设计、数据量限制、异步处理、参数定义、完整文档及开发者对接SDK等内容,旨在帮助开发者设计出安全、稳定、易维护的API接口。
65 6
开发一份API接口,需要注意这些,看你做到了几项
|
18天前
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
42 3
如何使用Python开发API接口?
|
7天前
|
缓存 前端开发 API
深入浅出:后端开发中的RESTful API设计原则
【10月更文挑战第43天】在数字化浪潮中,后端开发如同搭建梦想的脚手架,而RESTful API则是连接梦想与现实的桥梁。本文将带你领略API设计的哲学之美,探索如何通过简洁明了的设计,提升开发效率与用户体验。从资源定位到接口约束,从状态转换到性能优化,我们将一步步构建高效、易用、可维护的后端服务。无论你是初涉后端的新手,还是寻求进阶的开发者,这篇文章都将为你的开发之路提供指引。让我们一起走进RESTful API的世界,解锁后端开发的新篇章。
|
14天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
13天前
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####
|
11天前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
26 1
|
14天前
|
监控 搜索推荐 安全
探究亚马逊详情API接口:开发与应用
在数字化时代,亚马逊作为全球领先的电商平台,为商家和消费者提供了丰富的商品信息和便捷的购物体验。本文深入探讨了亚马逊详情API接口的获取与运用,帮助开发者和商家实时监控商品数据、分析市场趋势、优化价格策略、分析竞争对手、构建推荐系统及自动化营销工具,从而在竞争中占据优势。文章还提供了Python调用示例和注意事项,确保API使用的安全与高效。
44 3
|
18天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
47 4
|
17天前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
22 2
下一篇
无影云桌面