Nuxt快速学习开发 - Nuxt3静态资源Assets

Nuxt 使用两个目录来处理样式表、字体或图像等资产。

public/目录内容按原样在服务器根目录中提供。

assets/目录包含您希望构建工具(Vite 或 webpack)处理的所有资产。

public/目录

public目录用作静态资产的公共服务器,可在您的应用程序定义的URL上公开访问。

public/您可以从您的应用程序代码或通过根 URL 从浏览器中获取目录中的文件/。

例如,引用public/img/目录中的图像文件,可在静态 URL 获得/img/nuxt.png:

复制代码
//app.vue
<template>
  <img src="/img/nuxt.png" alt="Discover Nuxt 3" />
</template>

assets/目录

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

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

例如,如果构建工具配置为处理此文件扩展名,则引用将被处理的图像文件:

复制代码
//app.vue
<template>
  <img src="~/assets/img/nuxt.png" alt="Discover Nuxt 3" />
</template>

可以通过配置nuxt.config.ts配置别名,以便更好的访问资源,例:

复制代码
//``nuxt.config.ts
export default defineNuxtConfig({
  alias: {
    //配置别名
    images: fileURLToPath(new URL("./assets/img", import.meta.url)),
    style: fileURLToPath(new URL("./assets/style", import.meta.url)),
    data: fileURLToPath(new URL("./assets/other", import.meta.url)),
  },
 )}

//app.vue
<template> <div> <img src="~/img/nuxt.png" /> </div> </template>

全局样式导入

要在 Nuxt 组件样式中全局插入语句,需要再nuxt.config.ts中配置vite选项 资产/_colors.scss资产/_colors.sass

assets/_colors.scss

复制代码
$primary: #49240F;
$secondary: #E4A79D;

//``nuxt.config.ts
export default defineNuxtConfig({
  vite: {
    css: {
      preprocessorOptions: {
        sass: {
         additionalData: '@use "@/assets/_colors.scss" as *;'
        }
      }
    }
  }
})
相关推荐
大龄程序员狗哥4 小时前
第25篇:Q-Learning算法解析——强化学习中的经典“价值”学习(原理解析)
人工智能·学习·算法
南境十里·墨染春水4 小时前
linux学习进展 线程同步——互斥锁
java·linux·学习
nashane5 小时前
HarmonyOS 6学习:旋转动画优化与长截图性能调优——打造丝滑交互体验的深度实践
学习·交互·harmonyos·harmonyos 5
华清远见IT开放实验室6 小时前
智能手表完整项目实现,比赛求职双向加分,基于嵌入式大赛推荐开发板(STM32U5)
stm32·单片机·嵌入式硬件·学习·智能手表·嵌入式大赛
炽烈小老头6 小时前
【 每天学习一点算法 2026/04/22】四数相加 II
学习·算法
uncle_ll6 小时前
LangChain基础学习笔记
笔记·学习·langchain·llm·rag
三品吉他手会点灯6 小时前
C语言学习笔记 - 14.C编程预备计算机专业知识 - 本讲内容概述
c语言·笔记·学习
Thanwind6 小时前
从0开始的机器学习之旅(二):监督学习,从线性回归说起
学习·机器学习·线性回归
2501_942326446 小时前
易速乐考,轻松备考
学习·教育电商
菜鸟‍6 小时前
【CVPR 2026】LitePT:更轻、更强的点云 Transformer【论文学习】
深度学习·学习·transformer