前端框架搭建(二)导入静态资源【vite】

news2025/4/17 19:27:00

1.根目录下创建styles目录

这里可根据你项目中的样式文件类型创建,因为这里我只有一个css没有scss

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VKAMZI2E-1670993967162)(assets/image-20221214124514-97nwdus.png)]

2.css目录下创建如下文件

  • global.css:全局所有的样式入口
  • scrollbar.css:滚动条样式
  • transition.css:动画样式

global.css

@import './transition.css';
@import './scrollbar.css';
html,
body,
#app {
    height: 100%;
}

scrollbar.css

html {
	scrollbar-width: thin;
	scrollbar-color: #e1e1e1 transparent;
}

/*---滚动条默认显示样式--*/
html::-webkit-scrollbar-thumb {
  background-color: #e1e1e1;
  border-radius: 8px;
}
/*---鼠标点击滚动条显示样式--*/
html::-webkit-scrollbar-thumb:hover {
  background-color: #e1e1e1;
  border-radius: 8px;
}
/*---滚动条大小--*/
html::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
/*---滚动框背景样式--*/
html::-webkit-scrollbar-track-piece {
  background-color: rgba(0, 0, 0, 0);
  border-radius: 0;
}


html.dark {
	scrollbar-width: thin;
	scrollbar-color: #555 transparent;
}

/*---滚动条默认显示样式--*/
html.dark::-webkit-scrollbar-thumb {
  background-color: #555;
  border-radius: 8px;
}
/*---鼠标点击滚动条显示样式--*/
html.dark::-webkit-scrollbar-thumb:hover {
  background-color: #555;
  border-radius: 8px;
}
/*---滚动条大小--*/
html.dark::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

/*---滚动框背景样式--*/
html.dark::-webkit-scrollbar-track-piece {
  background-color: rgba(0, 0, 0, 0);
  border-radius: 0;
}

transition.css

/* fade */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease-in-out;
}
.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

/* fade-slide */
.fade-slide-leave-active,
.fade-slide-enter-active {
  transition: all 0.3s;
}
.fade-slide-enter-from {
  opacity: 0;
  transform: translateX(-30px);
}
.fade-slide-leave-to {
  opacity: 0;
  transform: translateX(30px);
}

/* fade-bottom */
.fade-bottom-enter-active,
.fade-bottom-leave-active {
  transition: opacity 0.25s, transform 0.3s;
}
.fade-bottom-enter-from {
  opacity: 0;
  transform: translateY(-10%);
}
.fade-bottom-leave-to {
  opacity: 0;
  transform: translateY(10%);
}

/* fade-scale */
.fade-scale-leave-active,
.fade-scale-enter-active {
  transition: all 0.28s;
}
.fade-scale-enter-from {
  opacity: 0;
  transform: scale(1.2);
}
.fade-scale-leave-to {
  opacity: 0;
  transform: scale(0.8);
}

/* zoom-fade */
.zoom-fade-enter-active,
.zoom-fade-leave-active {
  transition: transform 0.2s, opacity 0.3s ease-out;
}
.zoom-fade-enter-from {
  opacity: 0;
  transform: scale(0.92);
}
.zoom-fade-leave-to {
  opacity: 0;
  transform: scale(1.06);
}

/* zoom-out */
.zoom-out-enter-active,
.zoom-out-leave-active {
  transition: opacity 0.1s ease-in-out, transform 0.15s ease-out;
}
.zoom-out-enter-from,
.zoom-out-leave-to {
  opacity: 0;
  transform: scale(0);
}

3.统一静态资源入口

因为后续我们还需要引入css框架,因此在项目中创建目录存放外部样式导入

创建目录plugins

  • assets:导入其他外部样式
  • index:导入入口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mc3cBbRw-1670993967163)(assets/image-20221214125427-8hnh346.png)]

assets.ts

这里将导入静态资源封装为一个方法,方便统一导入

import '../styles/css/global.css';

/** import static assets: css, js , font and so on. - [引入静态资源,css、js和字体文件等] */
export default function setupAssets() {}

index.ts

import setupAssets from './assets';

export { setupAssets };

4.改造main.ts

原生创建的显然无法进行自定义的修改,我们需要将其函数化,方便对各个插件进行个性化操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yNPItzwh-1670993967163)(assets/image-20221214125731-fbrvdyz.png)]

我们需要将其改造为一个方法,统一由一个方法导入插件或者挂载节点

import { createApp } from 'vue'
import { setupAssets } from './plugins';
import App from './App.vue'


async function setupApp() {
    // import assets: js、css
    setupAssets();
  
    const app = createApp(App);

  
    // mount app
    app.mount('#app');
  }
  
  setupApp();
  

这样子改造main方法就会使得我们整个项目更加清晰

参考开源项目:GitHub - honghuangdc/soybean-admin: A fresh and elegant admin template, based on Vue3,Vite3,TypeScript,NaiveUI and UnoCSS [一个基于Vue3、Vite3、TypeScript、NaiveUI 和 UnoCSS的清新优雅的中后台模版]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/89001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web3中文|盘点进军Web3的国际著名体育联盟

纵观如今的文化娱乐业,体育是最适合利用NFT实现粉丝参与和互动的领域。 NFT可以定格体育迷最喜欢的赛场高光时刻、记录体育迷所支持的球队或球星的美好瞬间,体育迷甚至还可以通过NFT体验交易收藏品的乐趣。 想知道这是怎么回事吗?让我们来粗…

查询 Linux 命令属于哪个软件包

在 Linux 中,有些命令的名称软件包的名称是不一样的,或者一个软件包中包含有多个命令。有时候,我们需要确定某个命令来自于哪个软件包,以便于可以在其他机器上安装,或者寻找该软件包的源代码进行编译或者修改。 下面以…

达美乐披萨:一家把自己“送”上市的企业

一、公司简介 达势股份,是知名披萨品牌在中国大陆、中国香港特别行政区和中国澳门特别行政区的独家总特许经营商,截至日前,公司在中国大陆14个城市拥有569家直营门店。 二、基本面分析 2.1 财务数据,扩张与亏损并存 **营收方面&a…

Sa-Token浅谈

主要介绍Sa-Token的鉴权使用以及实现原理。 文章目录简介使用源码解释创建会话1.前置检查2.获取配置3.分配token4.获取 User-Session5.设置token-id映射关系6.登录成功事件发布7.检查会话数量客户端注入Token简介 官网介绍的非常详细,主要突出这是一个轻量级鉴权框…

23个常见的 JavaScript 函数

本文收集了23个日常开发中非常常用的功能,其中一些可能很复杂,另一些可能很简单,但我相信它们都会或多或少对每个人都有帮助。 01、生成随机颜色 当网站需要生成随机颜色时,我们可以通过以下代码来执行此操作。 02、数组重新排序…

文件包含漏洞包含日志文件获取Shell实战

今天继续给大家介绍渗透测试相关知识,本文主要内容是文件包含漏洞包含日志文件获取Shell实战。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调&#…

Vue渲染器(四):双端diff算法

渲染器(四):双端diff算法 在上一章中,我们介绍了简单diff算法的实现原理。它利用vnode的key属性,尽可能多地复用DOM,并通过移动DOM的方式来完成更新,从而减少不断地创建和销毁DOM元素带来的性能…

(python + 雷电模拟器)frida下载与安装

frida下载 我这边是用pycharm下载的 我是直接下载最新的,暂时没发现什么异常 在安装成功界面查看frida版本 此时电脑端frida下载完成。打开github,搜索到frida,点击发行版 根据你的frida版本,对url进行修改进入你需要的版本…

方格涂色(冬季每日一题 30)

给定一个 nnnnnn 的方格矩阵,最初所有方格都是白色的。 现在需要将矩阵边界上的一些方格涂成黑色,从而使得: 最上一行恰好有 UUU 个方格是黑色的。最右一列恰好有 RRR 个方格是黑色的。最下一行恰好有 DDD 个方格是黑色的。最左一列恰好有 …

Android入门第47天-Fragment的基本使用

简介 我们的Android入门一步步已经进入中级。我们讲完了所有的基本组件的基本使用、Activity、Service、BroadCast。今天我们来到了Fragment篇章。Fragment和Activity比到底是一个什么样的存在呢?我们以一个很小的例子来说通Fragment。 Fragment是什么 Fragment可…

智能家居DIY系列之智能灯泡

一、什么是智能灯 传统的灯泡是通过手动打开和关闭开关来工作。有时,它们可以通过声控、触控、红外等方式进行控制,或者带有调光开关,让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块,可与手机、家庭智能助手、或其他智能…

浅析JWT Attack

前言 在2022祥云杯时遇到有关JWT的题,当时没有思路,对JWT进行学习后来对此进行简单总结,希望能对正在学习JWT的师傅们有所帮助。 JWT JWT,即JSON WEB TOKEN,它是一种用于通信双方之间传递安全信息的简洁的、URL安全…

创新研发负载分担机制,天翼云IPv6网络带宽再升级!

网络作为社会信息化的基础,已成为人们日常生活不可或缺的一部分。网络通过模拟信号将信息转为电流进行传播,在这个过程中,网卡便充当了解码器的作用,能够将电信号转换为计算机能够识别的数字信号。 网卡,即网络接口卡&…

关于LabVIEW大作业/课设/论文的写作框架整理(主体三部曲)

文章目录 一、前言二、写作框架2.1 介绍函数以及工具箱2.2 介绍相关原理2.3 系统设计和案例演示三、总结一、前言 因为在Labview临近要交大作业,发现自己根本不会写,程序等的已经准备好了,但是对于写作一直不知道查了查知网文章,让我有了个大概了解,在此帖出来,希望能帮…

1569_AURIX_TC275_电源管理与系统控制单元

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 之前看了不少类似的寄存器信息,总体来说阅读价值不是很大,查询的价值多一些。如果是进行编码,这样的寄存器信息需要查一下,在功能了解的时候…

java面试强基(22)

为什么要使用多线程呢? 先从总体上来说: 从计算机底层来说: 线程可以比作是轻量级的进程,是程序执行的最小单位,线程间的切换和调度的成本远远小于进程。另外,多核 CPU 时代意味着多个线程可以同时运行,这减少了线程…

漏洞丨实例分析cve2012-0158

作者:黑蛋 作者:黑蛋 一、漏洞简介 CVE-2012-0158是一个office栈溢出漏洞,Microsoft Office 2003 sp3是2007年9月18日由微软公司创作的一个办公软件,他的MSCOMCTL.ocx中的MSCOMCTL.ListView控件检查失误,由于读取长…

MySQL数据库Linux系统安装tar包

MySQL数据库Linux系统安装tar包 使用的远程工具是mabaxterm,使用此工具连接linux服务器, 第一步先把mysql安装包拖到远程工具的目录里:/usr/local 第二步:cd到local目录下解压数据库mysql 命令: cd …/usr/local 解压数据库masq…

endo BCN-PEG4-COOH,1881221-47-1,endo BCN-四聚乙二醇-羧酸特点分享

●外观以及性质: endo BCN-PEG4-acid含有BCN基团和羧酸基团,酸基团可以在偶联条件下与胺反应形成酰胺键。BCN基团可以发生点击化学反应。 【产品理化指标】: ●中文名:endo BCN-四聚乙二醇-羧酸 ●英文名:endo BCN-P…

APS智能排产帮助LNG船舶生产厂家充分利用产能,提升生产效益

前一段时间,由于欧洲各国集中储备天然气准备过冬,引发全球对LNG船舶,也就是液化天然气运输船的需求持续增加。一艘LNG船单日租金成本已跃升至近40万美元(约合人民币283万元),同比增长340%以上,一…