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

Nuxt3入门:资源文件(第2节)

你好同学,我是沐爸,欢迎点赞、收藏、评论和关注。

Nuxt 为资源存放提供两种选择。可以使用两个目录(public/assets)来处理样式表、字体或图像等资源。

  • public/ 此目录中的文件将按原样复制到服务器根目录中。
  • assets/ 此目录中的文件将使用构建工具(Vite 或 webpack)进行处理。

public

  • 位置:位于项目的根目录下,通常与 pages、components 等目录并列。
  • 用途:用于存放完全静态的资源,如图片、字体、JS 文件(这些文件不会通过 webpack 处理)、.html 文件等。这些资源将直接映射到项目的根 URL 下。
  • 访问方式:可以直接通过 /资源名 的形式访问 public 目录下的资源,而无需经过 webpack 处理。
  • 注意:public 目录下的资源是静态的,不会进行打包、压缩等 webpack 处理,使用时需要自行考虑资源优化和缓存问题。

例如引用 public/ 目录中的文件"public/img/nuxt.png"

app.vue

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

浏览器中直接访问:http://localhost:3000/img/nuxt.png

assets

  • 位置:在 Nuxt3 中,assets 目录的位置也是位于根目录,与 pages、components 等目录并列。
  • 用途:用于存放需要在构建过程中被 webpack 处理的资源,如 Vue 组件中的样式文件(CSS、SCSS、Less 等)、图片等。这些资源可以通过 webpack 的 loader 进行转换和压缩,优化前端资源。
  • 访问方式:可以通过 ~/assets/ 访问 assets 目录下的资源,以确保它们能被 webpack 正确处理。
  • 注意点:因为 assets 目录下的资源会经过 webpack 处理,所以可以利用 webpack 的各种 loader 和插件进行资源优化。

app.vue

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

注意,不能在浏览器中直接访问 assets 中的静态资源, 如 http://localhost:3000/img/nuxt2.png。

全局导入样式

要在 Nuxt 组件样式中全局插入语句,可以使用 Vite 选项在 nuxt.config 文件中进行配置。以定义 scss 变量为例:

第 1 步:安装依赖 sass

npm install sass

第 2 步:定义变量 assets/_colors.scss

$primary: blue;
$secondary: red;

第 3 步:全局注册 nuxt.config.js

export default defineNuxtConfig({vite: {css: {preprocessorOptions: {scss: {additionalData: '@use "~/assets/_colors.scss" as *;',},},},},
});

第 4 步:组件使用 app.vue

<template><div class="wrap"><img src="~/assets/img/nuxt2.png" alt="Discover Nuxt 3" /><p>Hello Nuxt3</p></div>
</template><style lang="scss">.wrap {display: flex;justify-content: center;align-items: center;color: $primary;}
</style>

好了,分享结束,谢谢点赞,下期再见!

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

相关文章:

  • 企业微信中嵌套的h5应用调用微信扫码功能
  • Excel如何把表格变成图表
  • HTTP 三、http在springboot中得应用
  • Java秋招面经(网搜版)
  • 【Android】Material Design编写更好的UI
  • 剪辑视频,这四大工具助你一臂之力!
  • 基于单片机的热成像测温显示系统设计
  • CSS系列之Float浮动(二)
  • macos下的 sed命令安装与使用 gnu-sed
  • RLC(电阻、电感、电容)
  • 语音测试(一)ffmpeg视频转音频
  • 计算机网络八股文之TCP协议
  • 【linux】linux中如何通过stress进行压力测试,原理解析与应用实战
  • python用波形显示udp数据实现一个模拟示波器
  • 开源通用验证码识别OCR —— DdddOcr 源码赏析(二)
  • 【个人笔记】VCS工具与命令
  • 面试进去8分钟就出来了,问的问题有点变态。。。
  • 探索MongoDB的Python之钥:pymongo的魔力
  • 【数据结构】顺序表和链表——顺序表(包含丰富算法题)
  • pod基础和镜像拉取策略
  • 53 mysql pid 文件的创建
  • 前端---对MVC MVP MVVM的理解
  • 深度学习 --- VGG16能让某个指定的feature map激活值最大化图片的可视化(JupyterNotebook实战)
  • 1990-2022年各地级市gdp、一二三产业gdp及人均gdp数据
  • c++ 原型模式
  • 论tomcat线程池和spring封装的线程池
  • 阿里P7大牛整理自动化测试高频面试题
  • vue如何实现路由缓存
  • 基于Openjdk容器打包运行jar程序
  • DNN学习平台(GoogleNet、SSD、FastRCNN、Yolov3)