SSR渲染

现在Vue,React,angular等三大框架引领的单页面应用大行其道,使用这单页面技术构建的项目比比皆是。这些流行的框架给我们带来的好处显而易见,不仅是开发,维护成本都大大地获得了优化。但是并不能说它是一个完美无缺的技术,其中还存在着首屏优化缓慢和不利于SEO等缺陷。那么如何解决这样的一个问题,从此就引入了SSR渲染的方案。

SSR服务器端渲染的大概含义指的就是,我们原本从服务器端获取到的页面静态代码,现在统一由后端先把数据渲染到页面上对应的位置后,再将页面组合成功后的Html页面返回给我们用户浏览器。这样子的操作类似于JSP和PHP前后端不分离所作的行为,通过模仿这样的行为,我们最终可以解决单页面带来的问题。

Nust.js

既然我们需要服务器端帮我们渲染页面,包括页面的数据,那么我们便需要使用官方给我们推荐的后端配套技术–node.js。造轮子的过程会耗费我们大量的时间精力,我们只需要用到服务器端渲染页面的一个功能,并没有打算用它来直接地对接数据和数据库,所以这样子的行为是可以被常规化的,于是乎我们的Nust.js应运而生。

通过Nust.js,我们可以不用花费大量精力去关注服务器端渲染的过程,只需要把工作的重心放在我们的前端页面开发,就如同开发一个Vue的项目一样去执行编码,最后在项目打包的时候,只要我们的配置项没有出现问题,就可以成功获取到一个服务端的应用包,其中就包裹了我们的前端项目。之所以能够像Vue一样去操作Nust,我们可以认为Nust只是对Vue的一个扩展提升,它就相当于Vue的一个框架。

开始一个Nust.js的项目

1.首先就像我们新建vue项目一样,在我们想要放项目的位置打开命令行工具,执行以下命令:

yarn create nuxt-app <项目名>

2.执行完新建的命令后,需要对以下的一些选项进行选择
①项目名称确认?
②JS or TS?
③包管理工具的选择
④UI框架的选择
⑤需要装载的一些模块
⑥编码规范工具的选择
⑦测试框架的选择
⑧服务器端渲染或者静态(静态就是一个单页面应用)
⑨部署目标,服务器端部署 or 静态部署
后面的不重要了,看就明白了,就是代码管理工具之类的东西

3.新建完项目,我们就可以得到一个全新的nuxt项目目录,如下:

4.以下是添加了部分可能所需的内容,构成的一个可能运行的整体项目。

其实整体上跟一个Vue项目是差不多,可能需要额外去注意到的点就是pages,layouts,components这几个文件夹和nuxt.config.js。

layouts:布局文件夹,可以编写我们的布局,相当于可以在view页面外再做一个整体的架构,加个全局的header和footer都行;
pages:该文件夹的vue文件相当于我们的每个页面,文件夹相当于我们的页面路径,项目在运行的时候会根据这个文件夹的结构去构建路由;
components:在此文件夹下定义的vue文件都会自动注册为我们的组件直接使用,可以关闭这个功能,在我们的nuxt.config.js中。

nuxt.config.js:整个项目的配置文件,可以配置一些参数,定义我们的页面meta还有引入全局文件等等。结构非常简单,一目了然。

引入一些官网常用的插件(推荐文章链接)

swiper:轮播插件
配置项目的swiper,按照步骤来就行
wow.js+animate:动画插件
Nuxtjs上使用wow.js+animate.css实现滚动加载动画

结语

前端的技术总是在与时俱进,我们需要不断去更新我们的技术栈,Vue的SSR在前端技术栈来说不一定是个必需品,当我们的后端技术是php和jsp的时候,我们完全可以达到同样的效果,只是过程可能相对有些不太顺手,或者说更趋近原生的代码对我们来说可能变得更加的陌生。所以如果想要舒舒服服地像用Vue一样去开发项目,同时也不用因为后端技术的局限而困扰,学习这门扩展性的框架还是有一定的帮助的。

如何用Nuxt.js构建项目,SSR官网项目搭建流程相关推荐

  1. Nuxt.js(Vue SSR)创建项目到服务器(Nginx+PM2)部署详细流程

    一.什么是 SSR ? SSR 就是 服务器渲染,什么是 服务器渲染?由 服务器 组装好 DOM 元素,生成 HTML 字符串给到浏览器,也就是在浏览器里面是可以看到整个页面的 DOM 源码的. SS ...

  2. 利用vue-cli(脚手架)一步一步构建一个仿当当网项目

    项目图 开发环境的搭建 这里我就不多叙述了,直接看我的这个文章有详细步骤 vue项目构建步骤 开发环境统一化 用一个插件 ESLint 我用的是vscode,所以就直接在插件里面下载了. 项目中已经自 ...

  3. 仿照小米官网项目具体操作与细节

    本项目已上传github 有需要的可以下载 点这里前往下载 小米官网项目具体操作 1.gulp的搭建 一 , 打开node控制台 命令行输入 cd 加文件夹路径 进入当前文件夹 命令行输入 cnpm ...

  4. django项目之官网需求分析实现

    上一篇:Django总目录篇 点击跳转 目录 Django的魅力 按图需求分析 首页需求分析 核心团队 职员现状 在线视频 常见问题 关于我们 Djangoadmin后台管理 Django的魅力 Dj ...

  5. Django打造大型企业官网-项目实战(三)

    Django打造大型企业官网-项目实战(三) 一.CRM 后台管理系统 前面我们使用的是 xadmin 后台管理系统,在使用中发现,在权限限制中,我们能实现不同等级的用户/管理(超级管理员/管理员/用 ...

  6. Django打造大型企业官网-项目实战(四)

    Django打造大型企业官网-项目实战(四) 一.新闻相关功能 在项目实战三中,我们完成了新闻分类相关的一些功能,现在我们来完成新闻列表.发布新闻.编辑新闻.删除新闻的功能 1.发布新闻/编辑新闻 功 ...

  7. Django打造大型企业官网-项目部署

    Django打造大型企业官网-项目部署 一.准备工作 1.在开发机上的准备工作 1)确认项目没有bug. 2)打开终端,进入虚拟环境,再 cd 到项目根目录下,执行命令:pip freeze > ...

  8. 学院官网项目三级页面总结

    学院官网项目三级页面总结 (撰写时间:2019年7月6作者:李梦熙) 这个六月我来到了这个项目班,在这一个多月的时间里,虽然有时候还是不知道去做些什么,但是我在这里也学习到了很多项目管理和分配工作之类 ...

  9. nuxt全栈仿美团官网13——首页下面的格调

    文档:nuxt全栈仿美团官网13--首页下面的格... 链接:http://note.youdao.com/noteshare?id=6b7b36720b665f830357b221a0d28fba& ...

最新文章

  1. dabs是什么意思_单词flounder是什么中文意思
  2. c++--运算符重载
  3. 20天掌握C语言,C语言零基础到项目实战,玩转C语言
  4. php中如何配置环境变量,如何配置phpstorm环境变量如何配置phpstorm环境变量
  5. 你可能不知道的10条SQL技巧,涨知识了!
  6. python批量下载bilibili视频_如何批量下载bilibili的视频?
  7. Win 2003安装过后的一些配置技巧
  8. windows怎么删除服务, OpenService 失败 5,拒绝访问解决
  9. arch linux 看图软件,菠萝看图
  10. Mindjet MindManager2022思维导图解压安装程序教程
  11. 数学建模美国赛论文常用句式总结
  12. 9个经典营销创业案例,彻底颠覆你的营销思维
  13. dcb模式(dcb模式)
  14. 【sdx62】XBL设置共享内存变量,然后内核层获取变量实现
  15. java web excel导入数据库
  16. 《程序员》Part5 2009-2013年试题知识点汇总
  17. Vitamio多媒体开发框架
  18. androidstudio简单页面设计
  19. 计算机科学学院毕业晚会主题,计算机科学与技术学院举办2020届毕业生晚会
  20. 做竞品分析,你找对竞争对手了吗?

热门文章

  1. 科达出征珠海航展,共筑蓝天梦想
  2. 数据安全法下,企业如何平衡数据安全合规与业务性能?| 产业安全专家谈
  3. 【阿里云高校计划】阿里云AI训练营_Day04_车辆检测系统
  4. 用axure做产品需求文档
  5. 给电脑文件批量重命名和更改后缀名
  6. eos 区块链 java 开发_EOS 交易验证的主要思路 - EOS 区块链开发实战
  7. 增加对ARM64和X86的硬件预取控制驱动的支持
  8. 段码超低功耗LCD液晶显示驱动芯片(IC)-VKL系列-VKL128/060/076/144A/144B,VKL144A兼容MCP144
  9. 通过CSS3实现:鼠标悬停图片360度旋转效果
  10. 论文投稿指南——中国(中文EI)期刊推荐(第5期)