服务端2月26日 23:55
Nuxt.js 的 SSG 和 SSR 有什么区别?怎么选?SSG 在构建时(nuxt generate)遍历所有路由,执行数据获取逻辑,生成完整静态 HTML 文件,部署到任意静态服务器即可,请求零服务端开销;SSR 在每次请求时由 Node 服务动态渲染 HTML,内容实时但需要持续运行服务器。Nuxt 3 通过 routeRules 支持混合模式:同一个应用中,博客页 SSG、商品页 ISR(swr 缓存)、后台 SPA,按路由粒度选择渲染策略,不再需要二选一。
## 追问
- ISR(Incremental Static Regeneration)在 Nuxt 3 里怎么实现?和 Next.js 的 ISR 有什么区别?
- SSG ...服务端2月26日 23:55
Nuxt.js 的模块和插件有什么区别?模块(Module)在 Nuxt 初始化阶段执行,能修改构建配置、注册插件和中间件,是 Nuxt 核心扩展机制,通过 `nuxt.config` 的 `modules` 数组注册。插件(Plugin)在 Vue 实例化前后执行,用于注册全局组件、指令或注入实例属性,放在 `plugins/` 目录自动注册。关键区别:模块可以注册插件,反过来不行;模块可发布为 npm 包(如 `@nuxtjs/axios`),插件通常项目内使用。
## 追问
- 模块的执行时机为什么比插件早?如果插件需要修改 Nuxt 配置怎么办?
- `modules` 数组中的顺序会影响什么?多个模块冲突如何处理...服务端2月26日 23:56
Nuxt.js 应用性能优化有哪些关键手段?Nuxt 性能优化分三层:构建层利用 Nitro 做 payload 提取,将 SSR 数据抽到独立 JSON 避免重复内联;渲染层通过 routeRules 按Route规则混合 SSR/SSG/SPA,静态页面用 prerender 避免运行时渲染开销;资源层用 @nuxt/image 自动生成响应式 srcset 和 WebP 格式,LazyHydrate 延迟水合非首屏组件。此外 Nuxt 3 基于 Vite 的按需编译和 tree-shaking 本身就比 Nuxt 2 的 Webpack 产物更小。
## 追问
- payload extraction 具体做了什么?对 ...服务端2月26日 23:54
Nuxt 3 有哪些数据获取方式?useFetch 和 useAsyncData 怎么选?Nuxt 3 提供两个核心组合式函数:useFetch 和 useAsyncData。useFetch 是 useAsyncData + $fetch 的语法糖,99% 场景用 useFetch 即可;useAsyncData 适合需要自定义获取逻辑(如依赖多个 API 聚合数据)的场景。两者都在 SSR 时于服务端执行,结果序列化到 payload 中供客户端 hydration 复用,避免重复请求。底层 HTTP 客户端是 ofetch($fetch),支持服务端直接调用,无跨域问题。
## 追问
- useFetch 的 key 是干什么用的?不写会怎样?
- SSR 时数据怎...服务端2月26日 23:53
Nuxt.js 和普通 Vue 应用有什么区别?Nuxt.js 是基于 Vue 的全栈框架,核心区别在于:普通 Vue 是纯客户端渲染 SPA,需要手动配置 Vue Router、Pinia、Vite 等生态;Nuxt 内置了 SSR/SSG/SPA 三种渲染模式、基于 pages/ 目录的文件路由、组件和组合式函数的自动导入、server/api 目录的 BaaS 风格服务端路由,以及 Nitro 服务引擎。普通 Vue 应用首屏为空壳 HTML,SEO 差;Nuxt 默认 SSR 可输出完整 HTML,对 SEO 和首屏性能更友好。
## 追问
- Nuxt 3 的自动导入是怎么实现的?和手动 import 有什么性能差异?
...服务端3月1日 20:56
什么是区块链技术?请解释其核心特点和去中心化原理区块链是一种分布式账本技术,通过密码学将数据区块按时间顺序链式连接,实现去中心化存储与验证。核心特点:去中心化(无单点控制,全网节点共持账本)、不可篡改(每个区块头包含前一区块哈希,篡改任一区块需重算后续所有区块哈希)、透明性(交易公开可验证)、安全性(共识机制防恶意攻击)。去中心化原理:传统系统依赖中心服务器,区块链中所有节点对等存储完整账本,通过共识算法(PoW/PoS/PBFT)对新区块达成一致。公有链任何人可参与,联盟链需授权,私有链由单一组织控制。
## 追问
- 哈希指针如何保证区块不可篡改?如果攻击者控制了51%算力会发生什么?
- PoW、PoS、PBFT 三种共识机...服务端3月2日 00:16
WebGL 中的阴影(Shadow)是如何实现的?WebGL 阴影的主流实现方式是阴影贴图(Shadow Mapping):先从光源视角渲染场景生成深度图,再从相机视角渲染时将每个片段变换到光源空间,比较其深度与深度图中的值——若片段深度更大则处于阴影中。软阴影通过 PCF(Percentage Closer Filtering)对深度图多次采样取平均实现。两大典型问题:阴影痤疮(shadow acne)由深度精度误差导致,用基于法线-光线夹角的 bias 修复;彼得潘效应(peter panning)由 bias 过大导致阴影脱离物体,改用正面剔除渲染深度图解决。大场景用级联阴影贴图(CSM)按距离分配不同分辨率。
## 追问
-...服务端3月1日 23:25
WebGL 是什么?它与 OpenGL 有什么关系?WebGL 是基于 OpenGL ES 的浏览器端 3D 图形 API,关系链为 OpenGL → OpenGL ES → WebGL。WebGL 继承了 OpenGL ES 的可编程渲染管线,通过 GLSL 编写顶点着色器和片段着色器控制 GPU 渲染,但运行在浏览器沙箱中,用 JavaScript 调用,且去除了 OpenGL 的固定管线。核心渲染流程:顶点数据经顶点着色器变换 → 图元装配 → 光栅化 → 片段着色器着色 → 帧缓冲输出。WebGL 1.0 基于 OpenGL ES 2.0,WebGL 2.0 基于 OpenGL ES 3.0。
## 追问
- WebGL 和 ...