速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Vue.js 最佳静态站点生成器对比

  • 2020-12-25
  • 本文字数:2184 字

    阅读完需:约 7 分钟

Vue.js最佳静态站点生成器对比

在过去的几年中,Vue.js 已成为 Web 应用程序开发的流行选项。用户变多后,这个框架开始将触角伸向了静态站点生成,一个曾经由 React 统治的领域。


就像 React 这边的 Gatsby 和 NextJS 一样,Vue.js 这边支持静态网站生成的框架也有不少。但考虑到它们提供的众多功能,想要挑一个合适的并不容易。


因此在本文中,我会向大家介绍用于静态站点生成的四大 Vue.js 框架,并对它们做详细对比,帮助找到适合你用例的选项。


1. Nuxt.js——32000 星和 280+贡献者


https://nuxtjs.org/


名单上的第一个是 Nuxt.js,这是一个基于 Vue.js 构建的开源高级框架。Nuxt.js 会抽象出客户端-服务器分发细节,从而简化 Web 开发工作。


Nuxt.js 基于一个可靠的模块化架构,并且有 50 多种模块方便用户入门。这些模块提供了内置支持,以将 PWA 特性和标准功能(例如 Google Analytics)引入你的应用程序。


Nuxt.js 的最大优势之一是 nuxt generate 命令。


使用这个命令时,你可以轻松生成网站的完全静态版本。


至于 Nuxt.js 的相关数据,它拿到了超过 32000 个星星,有 280 多位贡献者。像 GitLab、NESPRESSO 和 UBISOFT 这样的公司已经开始使用 Nuxt.js 了。


优点


  • 优化支持。

  • 服务端渲染。

  • 快速的开发和运行时。

  • 定义良好的项目结构。

  • 支持无服务器静态站点生成。

  • 自动代码拆分。


缺点


  • 使用自定义库可能会遇到挑战。

  • 报告的很多问题涉及了调试的便利性。

  • 它的社区很大,但仍落后于 Gatsby 和 Next.js。


2. VuePress——针对以内容为中心的静态站点优化


https://vuepress.vuejs.org/


VuePress 是另一个基于 Vue.js 的静态站点生成器,它最初是作为文档生成系统开发的。但在 1.x 版发布之后,VuePress 演变成了静态文件生成器。


在 VuePress 中,每个页面都被视为一个 markdown 文件,它们被渲染为 HTML 页面,并在加载页面时充当一个单页应用程序。


根据他们的官方文档,VuePress 包含两个主要部分:


  1. 带有基于 Vue.js 主题系统的静态站点生成器。

  2. 插件 API,用于添加全局级别的功能,还有一个针对文档优化的默认主题。


对比 VuePress 与 Nuxt.js 的话,我们可以看到 Nuxt.js 几乎可以完成 VuePress 能够完成的所有工作。


但是,VuePress 针对以内容为中心的静态网站创建做了更多优化,而 Nuxt.js 则更多专注于 Web 应用程序开发。


GitHub 统计数据这块,VuePress 的存储库有超过 17800 个星和 340 多位贡献者。FinTech、IADC 和 Directus 等公司也在使用它。


优点


  • 更好的加载性能。

  • SEO 友好。

  • 提供内置的 markdown 扩展。

  • 包括强大的搜索插件、PWA 功能、Google Analytics 等。

  • 默认处理 markdown 到 HTML 的转换任务。


缺点


  • 相对较新,不像 Nuxt.js 那么成熟。

  • 大多数共享托管提供商并没有安装 VuePress。


3. Gridsome——带有 GraphQL 的数据驱动框架


https://gridsome.org/


我们名单上的第三位选手是 Gridsome,它以构建轻巧快速的静态网站而闻名。与 React 中的 Gatsby 相似,Gridsome 是一个数据驱动的框架。Gridsome 使用一个 GraphQL 层从各种源中获取内容,然后从中动态生成页面。


GraphQL 充当 Gridsome 的内容管理系统。


你可以使用 gridsome develop 命令在本地运行项目,以在 localhost:8080/___explore 处浏览这个 GraphQL 数据层。


同样,你可以使用 gridsome build 来构建你的网站,它将生成可用于生产环境的优化版 HTML 文件。


至于 Gridsome 的 GitHub 统计数据,它只有 7000 个星和 100 位孤单的贡献者。此外,Gridsome 还带有一些独特的功能,以同其他产品更好地竞争。


优点


  • 通过热重载,轻松进行本地开发设置。

  • 提供开箱即用的代码拆分、资产优化和渐进式图像,以提高性能。

  • PWA 准备就绪。

  • SEO 友好。

  • 定义良好的结构和自动化路由。

  • 丰富的插件。


缺点


  • 需要具备 GraphQL 的基础知识。

  • 相对较新,不像 Nuxt.js、VuePress 那么成熟。


4. Saber——从不同的文件系统提取数据


https://saber.land/


Saber.js 是另一个静态站点生成器,其具备大量内置功能。


用过一段时间的 Saber.js 后,我觉得它更像是 Gatsby、Gridsome 和 Nuxt.js 的组合。


与 Gatsby 和 Gridsome 类似,Saber 允许你使用你想用的数据来创建静态网站。你可以从不同的文件系统中提取数据。有了 Saber,你就不用操心 GraphQL 了。


Saber 将其文件系统用作路由 API(这和 Nuxt.js 非常像),并且具有高度可扩展性。尽管 Saber 目前仅支持 Vue.js,但它的团队也计划扩展对 React 的支持。


由于 Saber 仍然是这一领域的新手,因此它的 GitHub 存储库只拿到了 2000 星。我相信一旦这个框架稳定下来,这些数字就会有所改善。


优点


  • 自动代码拆分。

  • 基于文件系统的路由。

  • 热代码重载。

  • 内置的 Markdown 支持。

  • 支持 i18n。


缺点


  • 没有 CLI。

  • 仍处于 Beta 版阶段。


总结


对于静态站点生成器领域来说,React 曾是人们的首选,并且统治了这一市场。但是,Vue.js 与我们上面讨论的这些出色框架有望改变这种情况。此外,其中一些框架对基于 React 的框架构成了真正的威胁。


例如,Gatsby 和 Gridsome 的行为看起来非常接近。此外,Gridsome 在性能、学习曲线、社区规模等方面都能与 Gatsby 相提并论。


对比基于 Vue.js 的和基于 React 的静态站点生成器,我们可以看到 Nuxt.js、VuePress 和 Gridsome 等框架具有与 Gatsby 和 NextJS 竞争的实力。


在对比以上四个框架时,根据 GitHub 和 npmtrends.com 的统计数据,可以看到 Nuxt.js 和 VuePress 处于领先地位。


npmtrends 对比数据


GitHub 统计数据


但我们应该注意的是,这些框架中的每一个都有自己独特的功能。例如,Saber 计划扩展对 React 的支持,因此有可能成为全球热门产品。


我希望本文能帮助你找到适合你用例的框架。有任何疑问,请在下面评论。


原文链接:


Best Static Site Generators For Vue.js


2020-12-25 09:404312

评论

发布
暂无评论
发现更多内容

面试官:在高并发情况,你是如何解决单用户超领优惠券问题的?

做梦都在改BUG

Java redis 高并发

喜讯!华秋电子荣获第六届“高新杯”十大优秀企业奖

华秋电子

干货分享!PCBA元器件间距的可焊性设计

华秋电子

Tapdata Cloud 基础课:新功能详解之「微信告警」,更及时的告警通知渠道

tapdata

数据库·

TiDB Operator恢复持久卷上的备份文件

TiDB 社区干货传送门

集群管理 管理与运维 故障排查/诊断 安装 & 部署 备份 & 恢复

TIDB云数据库试用体验

TiDB 社区干货传送门

安装 & 部署 扩/缩容 6.x 实践

一次不兼容ddl导致的cdc问题

TiDB 社区干货传送门

故障排查/诊断

火山引擎DataTester:A/B实验如何实现人群智能化定向?

字节跳动数据平台

大数据 AB testing实战

全局视角看技术-Java多线程演进史

京东科技开发者

jdk 多线程 Thread 企业号 3 月 PK 榜

接口优化的常见方案实战总结

京东科技开发者

批处理 预处理 企业号 3 月 PK 榜 接口优化 异步处理

图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对

NebulaGraph

图数据库

TiDB Operator备份TiDB集群到NFS持久卷

TiDB 社区干货传送门

集群管理 管理与运维 故障排查/诊断 安装 & 部署 备份 & 恢复

云数据库TiDB试用初体验

TiDB 社区干货传送门

6.x 实践

【图解】白嫖阿里云价值3.3万的TiDB

TiDB 社区干货传送门

实践案例 管理与运维 扩/缩容 6.x 实践

王者荣耀商城异地多活架构设计

Geek_7d539e

平安银行与易观千帆签约合作,加速数字用户资产增长

易观分析

金融 银行

云数据库 TiDB 试用体验总结

TiDB 社区干货传送门

版本测评

2023年2月中国网约车领域月度观察

易观分析

网约车 出行服务

BSN-DDC基础网络详解(四):资金账户充值

BSN研习社

新兴应用场景层出不穷,电源管理芯片市场前景广阔

华秋电子

NFTScan x TiDB丨一栈式 HTAP 数据库为 Web3 数据服务提供毫秒级多维查询

TiDB 社区干货传送门

头一次见!阿里牛人上传的600页JVM垃圾优化笔记飙升GitHub榜首

做梦都在改BUG

Java 性能优化 JVM 垃圾回收

面试官:JVM是如何分配和回收堆外内存的?

做梦都在改BUG

Java JVM 垃圾回收

数据库日常实操优质文章分享(含Oracle、MySQL等) | 2023年2月刊

墨天轮

MySQL 数据库 oracle postgresql 性能优化

天下武功唯快不破:TiDB 在线 DDL 性能提升 10 倍

TiDB 社区干货传送门

云数据库 TiDB 体验

TiDB 社区干货传送门

社区活动 6.x 实践

备战一年半,我们让最火的开源网关上了云

API7.ai 技术团队

api 网关 APISIX SaaS 平台

等保二级必须要上的设备有哪些?需要堡垒机吗?

行云管家

等保 堡垒机 等保二级

解决80%的工作场景?GitHub爆赞的Java高并发与集合框架,太赞了

做梦都在改BUG

Java 高并发 JUC JCF

爱奇艺统一实时计算平台建设

Apache Flink

大数据 flink 实时计算

堡垒机有硬件吗?推荐使用硬件堡垒机吗?

行云管家

云计算 网络安全 云服务 堡垒机

Vue.js最佳静态站点生成器对比_语言 & 开发_Chameera Dulanga_InfoQ精选文章