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

目录
相关文章
|
21天前
|
JSON 缓存 JavaScript
探索后端开发之巅:构建高效API的秘诀
【8月更文挑战第31天】本文将引导你穿越后端开发的迷宫,解锁构建高效API的秘密。从基础架构到代码实践,我们将深入浅出地探讨如何打造既快速又稳定的后端服务。通过具体案例和代码示例,你将学会如何优化你的API设计,提升性能,并确保可扩展性与安全性。无论你是新手还是资深开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。
124 51
|
2天前
|
API 网络架构 开发者
探索后端开发:RESTful API设计的艺术
【9月更文挑战第18天】在数字化时代的浪潮中,后端开发如同搭建一座座坚固的桥梁,连接用户与数据的无限可能。本文将深入浅出地探讨RESTful API设计的精髓,从理论基础到实践应用,带领读者领略API设计的艺术。我们将以代码示例为灯塔,照亮理解之路,但
|
10天前
|
前端开发 API 数据处理
探索后端开发中的API设计哲学
【9月更文挑战第10天】在数字化时代的浪潮下,后端开发作为连接数据与前端界面的桥梁,其重要性不言而喻。本文将深入探讨如何通过精心设计的API来提升后端服务的可维护性、扩展性和用户体验。我们将从API设计的基本原则出发,逐步展开对RESTful API和GraphQL两种流行风格的比较分析,并结合具体场景讨论最佳实践。文章旨在为开发者提供一套实用的API设计指南,助力打造高效、稳定且易于协作的软件架构。
25 6
|
9天前
|
API 网络架构 微服务
探索 GraphQL:现代 API 开发的新范式
GraphQL 是一种高效的 API 查询语言,允许客户端精确请求所需数据,避免了传统 RESTful API 中的数据冗余问题。它由 Facebook 开发并开源,现广泛应用于现代 Web 和移动应用。本文将介绍 GraphQL 的核心概念、优势及其在不同场景下的应用,并指导你如何构建和优化 GraphQL API。
|
12天前
|
JavaScript 测试技术 API
探索后端开发:构建高效API的艺术
【9月更文挑战第8天】本文旨在揭示后端开发中一个经常被忽视的领域——API设计。通过深入浅出的方式,我们将探讨如何构建一个既高效又易于维护的API。文章将涵盖设计原则、最佳实践以及一些常见的陷阱和解决方案。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧,帮助你在后端开发的道路上更进一步。
|
21天前
|
API 数据处理 网络架构
后端开发中的API设计艺术
在数字世界的构建中,API(应用程序编程接口)是连接不同软件组件的桥梁。良好的API设计不仅提升了开发效率,还增强了系统的可维护性与扩展性。本文将深入探讨如何打造一个既简洁又强大的后端API,涵盖从概念规划到实际实施的各个阶段,并分享一些行业最佳实践。
|
12天前
|
前端开发 API 开发者
深入浅出:后端开发中的API设计艺术
在数字化时代的浪潮中,后端开发如同搭建一座座数据桥梁,连接着用户与服务的无限可能。而API设计,则是这座桥梁的精髓所在。本文将带领读者领略API设计的艺术,从基础原则到进阶实践,探索如何打造高效、稳定且易于使用的后端接口。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高质量后端开发的大门。
|
11天前
|
存储 安全 API
探索后端开发:构建高效API的艺术
【9月更文挑战第9天】在数字时代的浪潮中,后端开发如同一位默默无闻的艺术家,精心雕琢着每一个数据交互的细节。本文将带你走进后端的世界,从基础概念到实战技巧,一起学习如何打造高效、稳定且易于扩展的API。我们将通过深入浅出的方式,探讨后端开发的哲学与实践,让你在编码之旅中,找到属于自己的节奏和和谐。让我们一起跟随代码的脚步,解锁后端开发的无限可能。
|
15天前
|
XML JSON 缓存
探索后端开发中的RESTful API设计原则
【9月更文挑战第5天】在数字化时代的浪潮中,后端开发扮演着支撑整个互联网世界运行的基石角色。而作为连接前端与后端桥梁的RESTful API,其设计质量直接影响到应用的性能和用户体验。本文将深入探讨RESTful API的设计原则,通过浅显易懂的语言和实际代码示例,引导读者理解如何构建高效、易于维护的API。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考。
|
15天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
44 2