当前位置: 首页 > news >正文

Nuxt 菜鸟入门学习笔记四:静态资源

文章目录

  • public 目录
  • assets 目录
  • 全局样式导入

Nuxt
Nuxt 官网地址: https://nuxt.com/

Nuxt 使用以下两个目录来处理 CSS、fonts 和图片等静态资源:

public 目录

public 目录用作静态资产的公共服务器,可通过应用程序定义的 URL 公开获取。
换言之,就是可以通过应用程序的代码或浏览器通过根 URL / 获取 public 目录中的文件。

public 目录下的内容将原样提供给服务器根目录。

应用:

  • 在应用程序代码中,通过根 URL / 获取 public 目录中的文件:
<template><!-- 在静态 URL /img/nuxt.png 上引用 public/img/ 目录中的图像文件: --><img src="/img/nuxt.png" alt="Discover Nuxt 3" />
</template>
  • 在浏览器中通过根 URL / 获取 public 目录中的文件:

可以在浏览器中地址栏输入 http://localhost:3000/img/nuxt-logo.png 访问 public/img/ 目录中的图像文件。

assets 目录

Nuxt 使用 Vite 或 webpack 来构建和捆绑应用程序。这些构建工具的主要功能是处理 JavaScript 文件,但也可以通过插件(Vite)或加载器(webpack)进行扩展,以处理其他类型的资产,如样式表、字体或 SVG。这一步主要出于性能或缓存目的(如样式表最小化或浏览器缓存失效)对原始文件进行转换。

按照惯例,Nuxt 使用 assets/ 目录来存储这些文件,但该目录没有自动扫描功能,您可以使用任何其他名称。

在应用程序的代码中,可以使用 ~/assets/ 路径引用 assets/ 目录中的文件。

<template><img src="~/assets/img/nuxt.png" alt="Discover Nuxt 3" />
</template>

如上例所示,引用一个图像文件,如果构建工具被配置为处理该文件扩展名,该文件就会被处理。

注意: Nuxt 不会通过静态 URL(如/assets/my-file.png)提供 assets/目录下的文件。如果您需要静态 URL,请使用 public/目录。

全局样式导入

要在 Nuxt 组件样式中全局插入语句,可以在 nuxt.config 文件中使用 Vite 选项。
应用代码如下:

  1. 在 assets/scss 目录下创建一个 _colors.scss 文件,来定义页面和组件要统一使用的颜色:
// assets/scss/_colors.scss$primary: blue;
$secondary: lightblue;
  1. 在 nuxt.config 中进行配置:
// nuxt.config.tsexport default defineNuxtConfig({vite: {css: {preprocessorOptions: {scss: {additionalData: '@use "@/assets/_colors.scss" as *;',},},},},
});
  1. 在 Nuxt 页面和组件中使用步骤 1 中定义的颜色:
// pages/about.vue<template><div><h1>@ about page</h1><AppAlert>AppAlert Component.</AppAlert><div><p class="primary-text">public 目录下的图片:</p><img src="/img/avatar.jpg" style="height: 80px" /></div><div><p class="second-text">assets 目录下的图片:</p><img src="~/assets/img/avatar.jpg" style="height: 80px" /></div></div>
</template><style lang="scss" scoped>
.primary-text {// 此处使用全局样式color: $primary;
}.second-text {// 此处使用全局样式color: $secondary;
}
</style>

注意:上面代码要正常运行,需要安装 SCSS 预处理器,安装命令为 pnpm add sass

至于更多在 Nuxt 中样式设计和使用,将会在下个章节会做进一步详细介绍。

http://www.lryc.cn/news/145702.html

相关文章:

  • C语言 - 结构体、结构体数组、结构体指针和结构体嵌套
  • python安装playwright问题记录
  • 关于gRPC微服务利弊之谈
  • 【Terraform学习】使用 Terraform创建Lambda函数启动EC2(Terraform-AWS最佳实战学习)
  • Mac软件删除方法?如何删除不会有残留
  • 编程之道:【性能优化】提高软件效率的实际建议和避免常见陷阱
  • VGG的结构:视觉几何组(Visual Geometry Group)
  • VBA:按照Excel工作表中的名称列自动汇总多个工作薄中对应sheet中所需要的数据
  • Mybatis1.9 批量删除
  • CUDA小白 - NPP(2) -图像处理-算数和逻辑操作(2)
  • python+redis实现布隆过滤器(含redis5.0版本以上和5.0以下版本的两份代码)
  • SpringBoot Thymeleaf iText7 生成 PDF(2023/08/29)
  • 【核磁共振成像】并行采集MRI
  • 深度图相关评测网站
  • 本地部署 CodeLlama 并在 VSCode 中使用 CodeLlama
  • Agilent33220A任意波形发生器
  • springboot第37集:kafka,mqtt,Netty,nginx,CentOS,Webpack
  • NVIDIA DLI 深度学习基础 答案 领取证书
  • axios模拟表单提交
  • 智安网络|探索物联网架构:构建连接物体与数字世界的桥梁
  • 胡歌深夜发文:我对不起好多人
  • C++二级题
  • NetApp AFF A900:适用于数据中心的超级产品
  • 入海排污口水质自动监测系统,助力把好入河入海“闸门”
  • AUTOSAR知识点 之 ECUM (一):基础知识梳理(概念部分)
  • leetcode分类刷题:哈希表(Hash Table)(二、数组交集问题)
  • [Mac软件]Adobe After Effects 2023 v23.5 中文苹果电脑版(支持M1)
  • 范德波尔方程详细介绍与Python实现(附说明)
  • 常用的GPT插件
  • 智慧校园用电安全解决方案