惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
Y
Y Combinator Blog
博客园 - Franky
D
Docker
B
Blog RSS Feed
M
MIT News - Artificial intelligence
雷峰网
雷峰网
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
S
SegmentFault 最新的问题
GbyAI
GbyAI
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
B
Blog
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
Vercel News
Vercel News
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News

Nuxt.js

nuxt3 大佬帮忙看个问题! Nuxt3 的 public 静态资源文件怎么更新 小心 Nuxt/Device 的坑 nuxt3 axios 请求出来的数据在源代码中没有这也没有办法 SEO 呀? nuxt 部署在 cf Page 上 想用 env 里的环境变量 Nuxt 下大家如何做用户身份认证 nuxt 官网首页的水波效果动画是如何实现的? nuxt3 在使用 nuxt/i18n 之后打包中的依赖生成软链接的文件夹,如何让它不生成这种文件夹? nuxt3 请求数据的最佳实践是什么 用 nuxtjs vue 开发的一个后台系统 后悔了 还不如用 extjs nuxt 怎么直接查询数据库然后给页面插值呢? Nuxt 能不能结合 generate 和 build 两种方式? 居然有 nuxtjs 的节点了,分享一下我的基于 nuxtjs 的博客吧
如何确定 Nuxtjs 当前的渲染模式?
rocmax · 2023-05-17 · via Nuxt.js

中途参加了一个使用 Nuxtjs(v2.15.7)开发客户管理 APP 的团队,本人有 React/Nextjs 开发经验,一开始就是看看文档照猫画虎写点页面,稍微深入了解项目之后对于如何配置 Nuxtjs 渲染方式产生了一点疑问,求指点。

项目当前的情况:

  • nuxt.config.js内的相关配置为
      ssr: false,
      target: "static",
      generate: 未配置
    
  • Docker 化时候用的是npm run generate,启动命令npm start。并没有做只拷贝 dist 目录等减少镜像体积的优化,所有文件原封不动塞到镜像里然后部署到 K8s
  • 使用了动态路由(/post/_id),而且可以正常显示

想问一下这种情况下项目跑在何种模式下( ssr,ssg,spa )?

下面是问题发现的过程,有点长:

由于这个项目部署到 K8s 而不是 CDN ,最初我认为采用的是 SSR 模式。当时遇到个情况是每次 CI 在 build 阶段都要针对不同环境( dev,test,prod...)生成多个镜像,差别只是环境变量不同。我想直接利用 runtimeConfig 把这些变量放到 pod 里的话 CI 做一个镜像就够了。但是尝试失败。

后来我看了 nuxtjs 配置文件,意识到我理解错了,项目采用的应该是 SSG 方式,确实看 generate 日志也是生成了每个页面的文件,静态文件的话当然是无法从环境读取变量,只有 build 阶段替换了。

再后来我发现另外一个开发人员使用了 dynamic route(/post/_id 这样的路由,id 是动态变化的,无法在 build 时从数据库获取,而且 generate 也没配,之前已经开发的部分没用过动态路由)。我想 SSG 模式下动态路由会被忽略不生成,我就提醒他说可能页面没法用。但是现实打脸,部署后可以正常访问。

于是我看了访问页面时返回的 html ,发现所有页面都只有一个id="__nuxt"节点,这种情况应该是 fallback 到 SPA 了吧,感觉是每个页面被单独做成了一个 SPA ?如果是这样的话 generate 就完全是多余的。

那么,npm start启动 Nuxt 服务器的时候到底是如何处理的?会检查已经 generate 好的文件吗?