前端开发
Node.js
Vue.js
前后端分离

有用nuxt的公司吗?公司的项目需要seo又想前后端分离,想知道你们怎么解决性能问题的?

求大神赐教 怎么解决?
关注者
55
被浏览
66,631

13 个回答

正好遇到了,说下我们的解决方案吧。

利用 cloudxns 将用户和搜索引擎分别解析。

前端构建后的文件上传到又拍云,并且设置好 rewrite。

nuxt 在服务器跑一份,搜索引擎解析到这个IP。

具体配置可以搜下我们在 cnode 发布的.


-------- 上PC 了,继续补一下 --------------


差不多是这样一个结构:

  • CDN
  1. 将前端所有资源全部放置于 CDN,也就是 html、CSS、JS 文件全部放置在 CDN 下,用户就近访问,提高了访问速度。
  2. 所有上传以 form 表单上传的形式,不经过云服务器(云服务器 我们只预留了2M 带宽用于 API)
  • Nuxt 按需加载
    使用 Nuxt(vue) 对 js 文件进行分割,使得首屏只需要加载少量的 JS 即可。

2M 服务器带宽

  • 纯 API
    得益于 CDN ,后端只需要走 API 接口,对带宽要求极低,(如果并发量增大,可以使用按流量计费的服务器)
  • GrahQL
    合并请求,使得一次请求可以拿到所有数据。
  • SSR
    利用 DNS 解析,只提供给搜索引擎访问。也就是说,用户和搜索引擎看到的其实不是同一个页面,搜索引擎看到的是经过服务端渲染的普通 html,这样就解决了SEO的问题。
  • Node.js
    后端使用 Node.js ,提供了极快的响应速度。 我们使用了 nest.js 框架。
  • Postgresql
    Postgresql 号称最先进的开源数据库,用 postgresql 不仅省内存,而且性能优异,能够负载更高并发。


相关参考:


又拍云配置说明:

最后又拍云注册的邀请链接,感谢支持:

console.upyun.com/regis

【原因是目前只有 又拍云的云存储支持 rewrite 重写,可以很好兼容前端的 history 模式】

编辑于 2019-05-15 14:10

我们从很早之前就开始用vue,后来一直想把一些vue项目改造成ssr,但是可能还是毅力不够,一直没有改。直到有一个偶然的机会,有一个全新的项目,我们说,我们来试试nuxt吧,这一试就爽的停不下来,速度飞快不说,页面之间跳转还贼流畅,不看代码根本感觉不出来,还以为就是一个SPA应用,但同时又满足了seo的要求,基本上以后所有项目都会用nuxt了。

发布于 2019-05-10 07:03

堆机器,加缓存

发布于 2019-05-09 12:30

提升 WEB服务端的性能就两个字 缓存

发布于 2019-05-09 11:47

能把问题描述的更清晰些么,是用了nuxt导致了性能问题?还是传统的前端性能优化?在我使用的经验来看nuxt性能方面不错啊,前后端分离加nuxt的话,自己用node写同构项目就行了~

发布于 2019-05-16 15:18

我的 个人博客就是用nuxt 写的

编辑于 2021-12-10 09:08

楼上正解,三级缓存是解决并发的关键,终极解决方案是静态化

发布于 2019-06-07 17:16

性能不性能我不知道,nuxt本身只是可以在服务区渲染提供更好的支持,通过node的环境。接口还是原来的接口,如果接口经常出毛病,性能也好不到那里去,本身node的项目如果用docker来跑的话,加负载均衡也没毛病,一个node的环境+带宽,物理机的配置肯定是有限的。。。你估计是想问页面加载的速度和渲染吧,贼溜比单页应用强!

发布于 2021-01-29 17:05

nuxt再怎么优化性能都比不上字符串模板渲染。

我想到的几点方案:

1. 动静分离,动态数据渲染部分使用nuxt,纯静态页面使用普通html。(nuxt中有构建静态文件的命令)

2. 使用node 模板引擎来渲染纯字符串html模板

3. 之前看到有个框架的方案是判断http请求是否是搜索引擎爬虫,如果是的话返回动态生成的html,如果是用户的话返回单页应用。

编辑于 2019-05-26 09:20

如果你是有大量的页面同时访问量也很大我建议你避开nuxt,会给你带来无尽的困扰 ,高并发,内存泄漏随时都在等待你,并且因为用的人少,你及其难招人进行维护。

发布于 2021-12-30 20:34

在用nuxt写了一个小网站,python学习资源导航

公司的项目需要seo又想前后端分离

这个应该不矛盾,seo方法太多了,也不一定局限于nuxt

前后端分离也不影响seo

性能肯定有办法解决的,归根结底是你遇到了什么性能问题,要对症下药啊


使用Nuxt写的一个简单网站

编辑于 2020-02-07 21:11

不懂是什么方面的问题,

如果是公司官网这样的,也就上百十个产品,几百或者上千篇文章,而且是慢慢更新才上的。

那么直接静态化不得了,SEO效果更好。

如果是商城,频繁更新要用SSR的话,我就不知道了。。。

发布于 2022-06-17 10:20

jQuery一样可以前后分离啊?

发布于 2019-05-23 17:59
( 为什么?)