Nuxt 和 Vite 有什么区别?

Exp*_*cit 13 vue.js nuxt.js vite

我正在学习 Vue,它的生态系统,现在我阅读了 nuxt.js。

据我了解,这是帮助我们构建 Vue 应用程序的工具,但我们不也对 vite.js 做同样的事情吗?

他们之间有什么区别?

kis*_*ssu 25

Vite 是一个类似于 Webpack 的构建工具,它基本上允许您在应用程序上本地工作并将其构建为生产环境。它还将带来各种加载器、热模块替换功能、环境变量、资产管理等。

Nuxt 与这一切完全无关。它与 Gatsby/Next/Vitepress 的 React/Svelte 相当。

它的目标是为 VueJS 提供更多功能。例如,Vue 只能作为 SPA 运行,这意味着您将无法通过搜索引擎获得任何类型的索引,而 Nuxt 确实具有 SSR 和 SSG 模式,可以让您的网站被有效地抓取。

它还带来了许多开发人员体验方面的优点:自动导入组合 API、组件、简单的路由、得益于所有 Nuxt 模块的庞大生态系统、更简单的配置等......
它基本上更像是类固醇上的 VueJS 应用程序!

此外,最新版本的 Nuxt (v3) 可以与 Vite 一起使用,开箱即用。所以,它们都是互补的,因为你需要一个构建工具才能在 JS 生态系统中工作,并且你可以获得比 VueJS 更多的功能。


有像vite-plugin-ssrvitesse这样的工具(顺便说一句,由 Nuxt 的核心维护者创建)可以解决静态生成一些路由等的基本需求,但它不是那么强大,周围有较小的社区,并且总体上有点移动慢点。

信任 Nuxt/Vite 背后的人也是一个重要方面,他们中的大多数人在社区中都很有名+是认真的日常维护者!

  • 我很想知道“不那么强大”具体意味着什么,这对于决定是否使用 nuxt 或 vite 的人们来说是一个很好的见解,因为这两个是什么 [vue ssr 文档](https://vuejs.org/guide /scaling-up/ssr.html#higher-level-solutions)作为选项提及。 (2认同)
  • @Klesun 如上所述,Vite 是一个捆绑器,因此它只会管理该部分。另一方面,Nuxt 是一个强大的 Vue 应用程序,周围有很多东西(内置的 SSR、路由、高级生命周期挂钩等......)+一个巨大的生态系统。您可以使用 Vite 完成所有这些工作,但总体而言需要更多的时间/工作/知识。此外,Nuxt 特定于 Vue,而 Vite 可以由任何类型的框架(React、Svelte、Astro 等)使用。 (2认同)