Nuxt3【项目配置】nuxt.config.ts
按环境添加配置
export default defineNuxtConfig({// 生产环境的配置$production: {routeRules: {'/**': { isr: true }}},// 开发环境的配置$development: {//}
})
运行时的配置 runtimeConfig
export default defineNuxtConfig({runtimeConfig: {// 只在服务器端可用的私有键apiSecret: '123',// public中的键也可以在客户端使用public: {apiBase: '/api'}}
})
- 默认情况下,这些键只在服务器端可用。
- runtimeConfig.public 中的键也可以在客户端使用
页面中通过useRuntimeConfig()组合函数获取运行时的配置
const runtimeConfig = useRuntimeConfig()
模块 modules
export default defineNuxtConfig({modules: [// 使用包名(推荐用法)'@nuxtjs/example',// 加载本地模块'./modules/example',// 添加带有内联选项的模块['./modules/example', { token: '123' }]// 内联模块定义async (inlineOptions, nuxt) => { }]
})
别名 alias
手动将库别名为CJS版本
export default defineNuxtConfig({alias: {'sample-library': 'sample-library/dist/sample-library.cjs.js'}
})
组件 components
自定义自动导入的组件目录
~/components
要写在末尾- pathPrefix 配置导入组件时,是否包含组件的目录(默认包含)
- prefix 可自定义导入组件时的前缀
最终效果详见下方代码中的注释
export default defineNuxtConfig({components: [// ~/calendar-module/components/event/Update.vue => <EventUpdate />{ path: '~/calendar-module/components' },// ~/user-module/components/account/UserDeleteDialog.vue => <UserDeleteDialog />{ path: '~/user-module/components', pathPrefix: false },// ~/components/special-components/Btn.vue => <SpecialBtn />{ path: '~/components/special-components', prefix: 'Special' },// 如果您想要覆盖 `~/components` 的子目录,请确保它是最后一个。//// ~/components/Btn.vue => <Btn />// ~/components/base/Btn.vue => <BaseBtn />'~/components']
})
禁用自动导入组件
export default defineNuxtConfig({components: {dirs: []}
})
导入 imports
配置自动导入自定义文件夹或第三方包导出的函数。
imports: {// 自动导入 stores 文件夹中的 pinia stores dirs: ['stores']
}
自动导入第三方包
范例:启用从vue-i18n包中自动导入useI18n组合式函数
imports: {presets: [{from: 'vue-i18n',imports: ['useI18n']}]}
禁用自动导入组合式函数和实用函数
export default defineNuxtConfig({imports: {autoImport: false}
})
渲染模式 ssr
启用仅客户端渲染
ssr: false
此时应该在 /app/spa-loading-template.html 中放置一个HTML文件,其中包含你想要用于渲染加载屏幕的HTML。
路由规则 routeRules
可按路由配置不同的渲染模式
export default defineNuxtConfig({routeRules: {// 主页在构建时预渲染'/': { prerender: true },// 产品页面按需生成,后台自动重新验证'/products/**': { swr: 3600 },// 博客文章按需生成,直到下一次部署前持续有效'/blog/**': { isr: true },// 管理仪表板仅在客户端渲染'/admin/**': { ssr: false },// 在API路由上添加cors头'/api/**': { cors: true },// 跳转旧的URL'/old-page': { redirect: '/new-page' }}
})
具体的配置项有:
- redirect: string - 定义服务器端重定向。
- ssr: boolean - 禁用应用程序的服务器端渲染部分,使其仅支持SPA,使用ssr: false。
- cors: boolean - 使用cors: true自动添加CORS头部,你可以通过覆盖headers来自定义输出。
- headers: object - 为你的站点的某些部分添加特定的头部,例如你的资源文件。
- swr: number|boolean - 为服务器响应添加缓存头部,并在服务器或反向代理上缓存它,以配置的TTL(存活时间)进行缓存。Nitro的node-server预设能够缓存完整的响应。当TTL过期时,将发送缓存的响应,同时在后台重新生成页面。如果使用true,则添加了一个不带MaxAge的stale-while-revalidate头部。
- isr: number|boolean - 行为与swr相同,除了我们能够将响应添加到支持此功能的CDN缓存中(目前支持Netlify或Vercel)。如果使用true,内容将在CDN中持久存在,直到下一次部署。
- prerender:boolean - 在构建时预渲染路由,并将其包含在你的构建中作为静态资源。
- experimentalNoScripts: boolean - 禁用Nuxt脚本的渲染和JS资源提示,用于你站点的某些部分。
构建 build
转译库
export default defineNuxtConfig({build: {transpile: ['sample-library']}
})
类型检查 typescript
构建时启用类型检查
export default defineNuxtConfig({typescript: {typeCheck: true}
})
启用严格的类型检查
export default defineNuxtConfig({typescript: {strict: true}
})
添加 vite 配置
export default defineNuxtConfig({vite: {vue: {customElement: true},vueJsx: {mergeProps: true}}
})
完整的 vue 配置项见 https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue
完整的 vueJsx 配置项见 https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx
添加 webpack 配置
export default defineNuxtConfig({webpack: {loaders: {vue: {hotReload: true,}}}
})
详见 https://www.nuxt.com.cn/docs/api/nuxt-config#loaders
启用实验性 Vue 功能
export default defineNuxtConfig({vue: {defineModel: true,propsDestructure: true}
})
相关文章:
Nuxt3【项目配置】nuxt.config.ts
按环境添加配置 export default defineNuxtConfig({// 生产环境的配置$production: {routeRules: {/**: { isr: true }}},// 开发环境的配置$development: {//} })运行时的配置 runtimeConfig export default defineNuxtConfig({runtimeConfig: {// 只在服务器端可用的私有键ap…...

中智讯“2024高校人工智能边缘应用项目实战师资培训班”圆满举办
7月24日——7月28日,中智讯“2024高校人工智能&边缘应用项目实战师资培训班”在昆明理工大学成功举办。本次培训由昆明理工大学人工智能产业学院主办,中智讯(武汉)科技有限公司承办。来自昆明理工大学、西南林业大学、云南民族…...

IIS发布打包后文件
1.打开IIS软件 2 添加网站, 自定义网站名称-选择要放置的资源路径-选择IP地址 3.打开放置的资源目录放置打包后文件 4.选择浏览 搜索不到IIS可进行一下操作 控制面板-程序和功能-启用或关闭windows功能-勾选IIS...

四个自定义 SHAP 图
超越 Python 包,创建 SHAP 值的定制可视化 SHAP 值是了解模型如何进行预测的绝佳工具。SHAP 包提供了许多可视化效果,使这个过程更加简单。话虽如此,我们不必完全依赖这个包。我们可以通过创建自己的 SHAP 图来进一步了解模型的工作原理。在本…...

为什么使用HTTPS?
HTTPS现在是所有Web活动的首选协议,因为它是用户保护敏感信息的最安全方式。 HTTPS不仅对请求用户信息的网站至关重要。除了用户直接发送的信息外,攻击者还可以从不安全的连接中跟踪行为和身份数据。 HTTP为网站所有者带来的好处除了数据安全之外&…...
软件设计-系统架构师(五十五)
1在网络规划中,政府内外网之间应该部署网络安全防护设备。在下图部署的设备A是(),对设备A作用描述错误的是()。 问题1 A IDS B 防火墙 C 网闸 D UTM 问题2 A 双主机系统,即使外网被黑客攻击…...
三分钟学会线缆电流估算
今天带你用三分钟的时间,学会电源线承受电流估算,不浪费时间,直接开始吧。 工作温度30℃,长期连续90%负载下的载流量 1.5平方毫米――14A 2.5平方毫米――26A 4平方毫米――32A 6平方毫米――47A 16平方毫米――92A 25平方毫米――120A 3…...

Snipaste 的一款替代工具 PixPin,支持 gif 截图、长截图和 OCR 文字识别,功能不是一点点强!
Snipaste 的一款替代工具 PixPin,支持 gif 截图、长截图和 OCR 文字识别,功能不是一点点强! PixPin 的名字来源于“Pixel Pin”,简单来说是一个截图、贴图的工具,但是 PixPin 以截图和贴图两大功能为核心做了大量的优…...
Oracle基础教程
体系结构 数据库 一个操作系统仅有一个数据库 实例 拥有一系列后台进程和存储结构,一个数据库可拥有一个或多个实例,一般只有1个实例 数据文件(.dbf/.ora) 数据文件是数据库的物理存储单元,一个表空间由一个或多…...

电脑如何录屏?三款电脑录屏工具分享
电脑如何录屏?作为一个经常需要录制电脑屏幕大职场人,不是为了制作教程、记录会议,就是偶尔想自己做个游戏解说视频。市面上的录屏软件琳琅满目,经过一番尝试和比较,我选出了三款我个人认为表现不错的软件,…...

idea2024建立maven web项目servlet 6.0
(1) 下载好tomcat 10.1.28 打开tomcat.apache.org官网下载 (2)配置好maven (3)idea 2024打开,建立项目 选择maven java项目 (4)在项目src/main/下 建立webapp/WEB-INF目录,在…...

游戏开放式新手引导框架设计
强制性引导:只能点某个按钮 优:程序简单 缺: 玩家体验差 开放式引导:不强制点 优:玩家体验好 缺: 程序复杂 需求分析: 1.开放式引导,引导是到达某个条件后进行一系列行为(…...

【Hot100】LeetCode—189. 轮转数组
目录 1- 思路自定义 reverse 翻转函数 2- 实现⭐189. 轮转数组——题解思路 3- ACM 实现 原题链接:189. 轮转数组 1- 思路 自定义 reverse 翻转函数 2- 实现 ⭐189. 轮转数组——题解思路 class Solution {public void rotate(int[] nums, int k) {k % nums.lengt…...

javaweb学习之HTML(一)
推荐学习使用网站 w3school 在线教程 认识HTML HTML(HyperText Markup Language)是超文本标记语言,它是一个用于创建网页和网页应用程序的标准标记语言。HTML文档由一系列的元素(elements)组成,这些元素通…...

项目实战:Qt+Opencv相机标定工具v1.3.0(支持打开摄像头、视频文件和网络地址,支持标定过程查看、删除和动态评价误差率,支持追加标定等等)
若该文为原创文章,转载请注明出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141334834 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、Op…...

【数据结构】汇总八、排序算法
排序Sort 【注意】本章是 排序 的知识点汇总,全文1万多字,含有大量代码和图片,建议点赞收藏(doge.png)!! 【注意】在这一章,记录就是数据的意思。 排序可视化网站: D…...
Java-分割list并执行多线程任务的工具类
要创建一个用于分割列表并执行多线程任务的工具类,你可以使用 Java 的 ExecutorService 和 ThreadPoolExecutor 来实现。下面是一个详细的示例,展示了如何创建这样一个工具类。 步骤 1: 创建线程池 首先,创建一个线程池来执行任务。 步骤 2: 分割列表 接着,定义一个方…...
Springboot-从服务器获取一个输入流,转成视频文件存到oss
要在Spring Boot应用中从服务器获取一个输入流,然后将该流转换为视频文件并存储到阿里云 OSS中,你可以遵循以下步骤: 设置阿里云OSS客户端:首先,你需要配置阿里云OSS客户端,以便能够上传文件到OSS。 获取输入流:使用HTTP客户端(如RestTemplate或WebClient)从服务器…...

[Meachines] [Easy] Bastion SMB未授权访问+VHD虚拟硬盘挂载+注册表获取NTLM哈希+mRemoteNG远程管理工具权限提升
信息收集 IP AddressOpening Ports10.10.10.134TCP:22, 135, 139, 445, 5985, 47001, 49664, 49665, 49666, 49667, 49668, 49669, 49670 $ nmap -p- 10.10.10.134 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH fo…...

STM32标准库学习笔记-9.DMA 直接存储器存取
参考教程:【STM32入门教程-2023版 细致讲解 中文字幕】 DMA(Direct Memory Access) DMA(Direct Memory Access)直接存储器存取DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...