React与Vue服务端渲染(一)--Nuxt.js

简介: React与Vue服务端渲染(一)--Nuxt.js

(本篇文章将讲解,如何使用Nuxt.js。下一篇文章将讲解,如何使用Next.js。)

   Nuxt.js是法国的两位兄弟基于Vue2.0开发的,解决Vue 搜索引擎爬虫抓不到这个问题,而且可以提高首屏加载的速度。zeit.co背后的团队发布的Next.js,基于React的服务端渲染应用框架。二者是异曲同工的。

Nuxt.js

   Nuxt.js其实原理很容易理解,从服务器请求数据,然后渲染界面,就是这么一个简单的过程。服务端渲染对SEO友好,在经过网络传输的时候,爬虫客户端爬到我们的页面后会分析我们的页面,然后我们的页面关键数据就会被爬虫收录了。客户端渲染很明显是对SEO不友好的。有一点个人觉得应该说一下的,使用服务端渲染,对服务器压力是存在的,至于多大,项目不同,压力也不一样。

因此在选择是否需要使用服务端渲染,可以根据业务需求来确定。


正文

   明白了Nuxt.js是用来解决什么问题,有哪些特点后,我们开始讲如何使用。

Nuxt.js可以引入到现有的项目,也可以从头开始新建项目。我们先讲解如何从头开始新建项目:

   官方提供了两种方式给我们来建立Nuxt.js应用项目,一种是使用starter模板,一种是从0开始搭建(文章内容有限,只讲精华,这里不讲,可以看官方文档)。


 一、Starter模板使用步骤:


  1、建议使用vue-cli安装使用:

$ vue init nuxt-community/starter-template <project-name>

(注意:如果没有安装Vue-cli,需要先通过

npm install -g @vue/cli @vue/cli-init 来安装)


  2、 安装依赖包:

$ cd <project-name>
$ npm instal

接着启动项目:

$ npm run dev


应用现在运行在 http://localhost:3000 可以运行看看效果。

运行成功成功后,按照规范来开发就可以了(规范自行看文档)。

下面这个流程图,可以看到Nuxt.js从服务器请求到渲染的这个过程(具体的原理官方文档有详细介绍):


image.png

 

   二、现有项目引入Nuxt.js

项目是基于Vue2.0的才可以使用Nuxt.js(Nuxt.js已经出了2.0了)

image.png


这是使用了vue-cli搭建的项目。下面讲如何在已有的项目引入Nuxt.js


步骤:

1、在根目录新建nuxt.config.js(用来设置我们个性化的配置)

nuxt.config.js的代码就不贴出来了(很多开元的项目的demo代码,自行参考)


2、在根目录新建nuxt文件夹

(文件夹里面需要新建5个文件夹(assets、component、layouts、pages、static)、一张图片

image.png


3、为了让命令更加快捷易懂,我们可以在package.json对script进行一下操作:


"scripts": { 
  "dev": "nuxt",   
  "build": "nuxt build",  
  "start": "nuxt start",  
  "generate": "nuxt generate",  
  "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",   
  "precommit": "npm run lint"
 }

更多的命令操作可以移步到官方文档。


4、完成了上面这三步之后,剩下的工作只需要把原先有的项目移入到nuxt文件夹对应的文件里面就可以了。

   Tip:


1、layouts这个文件夹是我们应用使用的布局,如果布局你需要自定义可以在layouts下新建一个default.vue来自定义布局。注意:<nuxt />是用来显示页面的主体内容(布局怎么操作移步到官方文档就可以了)。


2、vue-router这块我们不需要关心的,nuxt会根据pages目录结构自动生成路由的。pages文件夹放文件夹(一个文件夹代表一个模块)

目录结构:

-pages
  -login
    -index.vue
  -friend
    -index.vue


(nuxt会自动生成路由)

页面之间的跳转使用下面这个语句就可以了:

this.$router.push('/goods')


3、assets目录是用来放我们的静态资源的,我们调用assets里面的资源的时候最好使用相对路径。


结语:

如果需要使用到express作为server端的话,说明对Nuxt.js理解有一定的深度了。这里只是引导使用Nuxt.js,因此就不做深入讲解了。


(如果有哪里写错的,欢迎在后台提出,第一时间改正。)

相关文章
|
26天前
|
前端开发 JavaScript
React学习之——条件渲染
【10月更文挑战第16天】React 中没有像Vue中v-if这种指令。React 中的条件渲染和 JavaScript 中的一样,使用 JavaScript 运算符 if 或者条件运算符去创建元素来表现当前的状态,然后让 React 根据它们来更新 UI。
|
1月前
|
监控 前端开发 UED
在 React 18 中利用并发渲染提高应用性能
【10月更文挑战第12天】利用并发渲染需要综合考虑应用的特点和需求,合理运用相关特性和策略,不断进行优化和调整,以达到最佳的性能提升效果。同时,要密切关注 React 的发展和更新,以便及时利用新的技术和方法来进一步优化应用性能。你还可以结合具体的项目实践来深入理解和掌握这些方法,让应用在 React 18 的并发渲染机制下发挥出更好的性能优势。
104 59
|
5天前
|
JavaScript 前端开发 算法
React 框架和 Vue 框架的区别是什么?
React框架和Vue框架都是目前非常流行的前端JavaScript框架,它们在很多方面存在区别
|
20天前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
53 10
|
18天前
|
资源调度 前端开发 数据可视化
构建高效的数据可视化仪表板:D3.js与React的融合之道
【10月更文挑战第25天】在数据驱动的时代,将复杂的数据集转换为直观、互动式的可视化表示已成为一项至关重要的技能。本文深入探讨了如何结合D3.js的强大可视化功能和React框架的响应式特性来构建高效、动态的数据可视化仪表板。文章首先介绍了D3.js和React的基础知识,然后通过一个实际的项目案例,详细阐述了如何将两者结合使用,并提供了实用的代码示例。无论你是数据科学家、前端开发者还是可视化爱好者,这篇文章都将为你提供宝贵的洞见和实用技能。
42 5
|
18天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
18天前
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略
|
18天前
|
JavaScript 前端开发 算法
在性能上,React和Vue有什么区别
【10月更文挑战第23天】在性能上,React和Vue有什么区别
14 1
|
21天前
|
JavaScript 前端开发 持续交付
构建现代Web应用:Vue.js与Node.js的完美结合
【10月更文挑战第22天】随着互联网技术的快速发展,Web应用已经成为了人们日常生活和工作的重要组成部分。前端技术和后端技术的不断创新,为Web应用的构建提供了更多可能。在本篇文章中,我们将探讨Vue.js和Node.js这两大热门技术如何完美结合,构建现代Web应用。
19 4
|
20天前
|
监控 JavaScript 前端开发
Vue 异步渲染
【10月更文挑战第23天】Vue 异步渲染是提高应用性能和用户体验的重要手段。通过理解异步渲染的原理和优化策略,我们可以更好地利用 Vue 的优势,开发出高效、流畅的前端应用。同时,在实际开发中,要注意数据一致性、性能监控和调试等问题,确保应用的稳定性和可靠性。