我正在学习Vue,它是生态系统,现在我读到了nuxt.js.

据我所知,这是帮助我们构建Vue应用程序的工具,但我们不是也可以用vite.js来做同样的事情吗?

它们之间有什么不同?

推荐答案

Vite是一个像webpack一样的构建工具,它基本上允许你在你的应用程序上进行本地工作,并为生产构建它.它还将带来各种加载器、热模块替换功能、环境变量、assets资源 管理等.

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

它的目标是为VueJS提供更多功能.例如,Vue只能作为SPA运行,这意味着你不会得到搜索引擎的任何类型的索引,而Nuxt确实有SSR和SSG模式,可以让你的网站被高效地抓取.

It also brings a lot of Developer Experience niceties: auto import of the composition API, of the components, simple routing, huge ecosystem thanks to all of Nuxt's modules, simpler configuration etc...
It's more like VueJS apps on steroids basically!

此外,最新版本的Nuxt(V3)可以开箱即用.因此,这两者是互补的,因为你需要一个构建工具来在JS生态系统中工作,你会得到比VueJS更多的功能.


有像vite-plugin-ssrvitesse这样的工具(由One Nuxt的核心维护者BTW创建),他们可以解决静态生成某些路由/等的基本需求,但它没有那么强大,周围有较小的社区,总体上进展有点慢.

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

Vue.js相关问答推荐

用于循环数组的模板元素内的条件渲染

vuejs:在确认提示之前更改 HTML

在哪里可以找到在线沙箱 Vuetify 3 模板来创建最小的可重现示例?

在 VueJS 中,将变量而不是组件的字符串名称传递给动态组件的 :is 属性不起作用

当try 更新 Vue 3 中的关联数组中的单个元素时,所有值都会更新

在 bootstrap-vue 中渲染自定义样式

在 Ajax 函数中访问 Vue.js 组件属性

拖入 vue2-google-map 后如何获取标记位置?

Vue.js 和观察者模式

如何在 vue.js 模板中显示空间而不是 undefined 和 null?

如何在 vue.js 中删除类

命名空间模块身份验证的重复命名空间身份验证

如何从 bootstrap-vue 模态监听事件?

Vuejs:我应该在 vue-router SPA 中的哪里放置一些常用的 js 工具?

VueJS 通过渲染传递数据

Vuex - 何时从 http 服务器加载/初始化存储数据

过渡后的 v-if 下方的过渡元素

在 vue.js 组件中react this.props.children

在子元素 vueJS.2 之间切换active类

禁用外部主题文件产生的 Dart SASS 警告