我的编程空间,编程开发者的网络收藏夹
学习永远不晚

为什么在Vue上使用Nuxt.js

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

为什么在Vue上使用Nuxt.js

这篇文章主要讲解了“为什么在Vue上使用Nuxt.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“为什么在Vue上使用Nuxt.js”吧!

Nuxt.js是一个建立在Vue.js上的前端框架,它提供了很好的开发特性,比如服务器端渲染、自动生成路由、改进的元标签管理和SEO改进。

为什么在Vue上使用Nuxt.js?

Nuxt.js为前端开发人员提供了许多好处,但是有一项关键功能使我们最终决定使用此框架——SEO改进。我们的应用程序需要此功能,因为它不是典型的内部SPA(单页应用程序)。这是一个包含社交共享功能和管理功能的公共网络应用程序。

说到社交共享,Nuxt.js有很好的元标签管理,所以我们可以根据后端接收的数据轻松地创建特定的、可定制的社交共享窗口。

那么,SEO改进如何工作?

为了改善SEO,Nuxt.js使用SSR(服务器端渲染)。SSR在获取AJAX数据后将Vue.js组件渲染为服务器(Node.js)上的HTML字符串。完成所有异步逻辑后,它将它们直接发送到浏览器,然后最终将静态标记提供给客户端上的完全交互式应用程序。此功能允许使用Google SEO解析器很好地解析DOM元素。 SEO解析器在加载网站DOM时立即以巨大的速度解析DOM元素。

另一方面,典型的SPA应用程序是用Vue这样的框架构建的 Vue.js、React、Angular等都是在DOM加载后用AJAX从后端获取数据,因此SEO解析器无法解析所有的DOM元素,因为它们还没有渲染。AJAX提取是异步的,而SEO解析则不是。

Nuxt.js需要与Vue不同的心态

Nuxt.jsVue.js处理逻辑的方式非常不同。主要区别在于Vue始终在客户端运行,而Nuxt不在客户端运行,这在某些情况下可能会导致重大问题。例如,如果您想在加载应用程序后立即选择DOM元素,则该应用程序可能在Node.js端运行,当然,Node.js中没有DOM元素。

访问浏览器的本地存储时也会发生同样的情况。这就是Nuxt在本地存储上使用cookie的主要原因——因为它们始终可以访问。

有了Vue,我们就不会遇到这类问题,因为它总是在客户端上运行,因此我们不必理会这些潜在的问题。

让我们看看如何在Vue中处理这些类型的潜在问题,以及如何在Nuxt中进行处理——带有实际的代码示例。

为什么在Vue上使用Nuxt.js

此图中最重要的事情是“created”方法的早期返回。  Nuxt有一个全局可访问的对象“process”,它显示我们当前是在服务器端还是在客户端运行。我们看到的代码背后的逻辑专注于管理 socket  连接,并且显然,如果我们在服务器上运行,则我们不想在接收 socket 事件时更新DOM,因为服务器端没有DOM。

如果这是一个Vue.js应用程序,则除了早期返回部分外,代码将是相同的——因为该流程将始终在客户端上运行,并且无需检查该特定语句。

为什么在Vue上使用Nuxt.js

Nuxt.js基于文件夹结构生成自己的路由器,而对于Vue.js,它必须手动完成——但请记住,这两种原则各有利弊。自动生成的路由的优点是创建路由更容易,更快捷;您只需创建目录和文件,Nuxt即可完成所有工作。但是缺点是,与手动编写相比,它的可控性和可管理性较差。

为什么在Vue上使用Nuxt.js

与手动生成的路由器相比,使用Vue.js可以轻松地将自己的逻辑添加到路由器,导入服务并具有更多的路由管理控制。这个原则比较耗时,也很复杂,但这并不总是意味着它会变得更糟。

Nuxt.js 准备好用于企业级应用程序了吗?

过去有两个主要因素使Nuxt.js无法用于企业级应用程序:

  • typescript支持不佳

  • 糟糕的服务器端错误处理

当我们处于项目的研究阶段(大约6个月前)时,没有可靠的Typescript入门套件或配置值得其冒险使用。由于存在有大量的linting错误和类型缺失,因此我们决定使用Vanilla  JS(ES6  +)。同时,对Nuxt.js的Typescript支持已经得到了极大的改善,现在已经可以使用新的入门套件和配置,而不必担心与Typescript相关的问题。

糟糕的服务器端错误处理是我们在开发Nuxt.js应用程序时必须解决的最大,最苛刻的问题。

当代码在Nuxt.js服务器(Node.js)端执行时,应用程序抛出了非常不相关的错误消息,调试和修复这些相同的错误确实非常困难和复杂。为了简化调试,有必要以特定方式处理Node.js方面的错误。

现在,有了更好的Typescript支持和对SSR更深入的理解,我可以肯定地说,Nuxt.js已经为中、企业级应用做好了准备,但是仍然有改进的空间——比如在Nuxt的Node.js端提供更好的错误处理和AJAX管理。

Nuxt应用程序结构

Nuxt.js与Vue.js具有非常相似的体系结构。只有两个主要区别:

  • Router

  • Main App.vue component

Nuxt根据页面的目录和文件结构生成路由器逻辑及其路由。例如,如果我们创建目录和文件 about/index.vue,则Nuxt.js会自动为该页面创建路线 /about。无需在应用程序中的其他任何地方定义或配置路由。

对于嵌套路由,只需要在父目录内创建一个目录——about/me/index.vue 将生成 about/me 路由。对于创建动态嵌套路由或嵌套路由参数,所需要做的就是用lodash前缀命名子目录—— user/_id /index.vue 将根据用户的ID为用户创建动态嵌套路由。

为什么在Vue上使用Nuxt.js

Nuxt.js的另一个与结构相关的功能非常有趣——布局。Vue.js应用程序具有主App.vue文件,该文件是所有应用程序组件的主要根组件包装。Nuxt.js使用布局,其中每个布局都充当应用程序组件的单独包装。例如,如果我们希望某些特定的页面使用不同的UI库、全局CSS样式、字体族、设计系统、元标记或其他元素,我们可以定义使用什么布局作为其父根组件。默认情况下,所有的  Nnux.js 页面都使用 default.vue 布局。

Nuxt.js中的Vuex的结构几乎与通常的Vue.js环境相同——带有  store 模块。这种结构化是可选的,但强烈建议您进行更好的结构和代码维护。每个 store  都应基于应用程序逻辑和数据流进行结构化和模块化。例如,如果应用程序包含授权逻辑,则我们必须创建用于 store 所有授权数据和逻辑的授权  store 模块,例如登录,注销,cookie,令牌,用户数据等。

为什么在Vue上使用Nuxt.js

为什么在Vue上使用Nuxt.js

感谢各位的阅读,以上就是“为什么在Vue上使用Nuxt.js”的内容了,经过本文的学习后,相信大家对为什么在Vue上使用Nuxt.js这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

为什么在Vue上使用Nuxt.js

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

VUE Nuxt.js 中间件的最佳实践是什么?马上告诉您!

VUE Nuxt.js 中间件是强大的工具,可用于执行各种任务,如身份验证、数据预取和错误处理。了解最佳实践非常重要,以便充分利用它们。
VUE Nuxt.js 中间件的最佳实践是什么?马上告诉您!
2024-02-22

什么是SSL证书为什么需要在网站上使用它

SSL证书是一种用于在网络通信中加密数据的数字证书。它通过在服务器和浏览器之间建立安全的加密连接,确保在数据传输过程中不会被窃取或篡改。SSL证书通过证明服务器的身份,保护网站和用户之间的通信安全,防止信息被窃取或篡改。在网站上使用SSL
什么是SSL证书为什么需要在网站上使用它
2024-04-17

为什么vue要和nodejs一起使用

前端开发中,由于业务逻辑越来越复杂,单纯的app就更难以胜任,为了提高开发效率和质量,后端也要为前端提供更多灵活的数据支持,这就涉及到跨域和服务器的简洁性问题。由于前端JavaScript语言的快速发展,人们诞生了新一代的前端服务器端技术,如vuejs, React 和 AngularJS等。其中最为流行的前端技术是vue.js,vue.js是一种基于JavaScript的视图
2023-05-14

为什么 docall 在 singleflight 中使用 gopanic?

php小编香蕉为您解答:为什么docall在singleflight中使用gopanic?在singleflight中,当多个goroutine同时请求相同的任务时,为了避免重复执行,我们需要使用docall函数来确保只有一个gorouti
为什么 docall 在 singleflight 中使用 gopanic?
2024-02-08

聊聊为什么Vue 3要使用setup()函数

在Vue 2中,我们通常会使用选项式API来创建组件,即通过声明生命周期函数、数据、事件等来实现组件的功能。但是,Vue 3提供了一种新的API方式,称为函数式API,其中最关键的部分是`setup()`函数。`setup()`函数是Vue 3中的新概念,在Vue 2中不存在。它允许我们更好地组织组件代码并提高组件性能。那么,为什么Vue 3要使用`setup()`函数呢?##
2023-05-14

vue为什么不用中文

Vue为什么选择不使用中文?Vue是一种流行的JavaScript框架,用于构建动态用户界面。相比于其他框架,Vue更为简单、直观、高效。然而,尽管该框架在全球范围内广受欢迎,却选择不使用中文。那么,Vue为什么不用中文呢?首先,需要明确的是,Vue的创造者Evan You是一个华裔,非常熟悉和擅长中文。他在推出Vue之前,曾经使用过其他的框架,但在学习和使用其他框架的过程中,
2023-05-14

为什么要在Ruby APP中使用Neo4j

为什么要在Ruby APP中使用Neo4j,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。每天,我都需要储存大量的数据,而我可以使用很多工具,比如 Postgre
2023-06-17

vue为什么可以在浏览器运行

Vue 是一种现代化的前端 JavaScript 框架,它可以在浏览器中快速渲染页面。Vue 的优越性能主要表现在以下几个方面:1. Vue 的虚拟 DOMVue 采用了虚拟 DOM 的方式,即将真实 DOM 抽象成虚拟 DOM,然后和数据进行比对,根据差异进行有针对性的 DOM 操作以提高渲染性能。虚拟 DOM 可以让 Vue 的渲染速度大幅提高,并且能够保证应用程序的稳定性
2023-05-14

为什么不在Python中使用无用分号

这篇文章主要介绍“为什么不在Python中使用无用分号”,在日常操作中,相信很多人在为什么不在Python中使用无用分号问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么不在Python中使用无用分号”的疑
2023-06-16

在vue中动态的引入图片为什么要使用require?解析分享

vue中动态引入图片为什么要使用require?下面本篇文章和大家聊聊你不知道的那些事,希望对大家有所帮助!
2022-11-22

如何在Vue中使用axios上传图片

如何在Vue中使用axios上传图片?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在vue和axios的配合下实战一波