服务端渲染

什么是服务端渲染

  1. 概念:后端先调用数据库,获得数据之后,将数据和页面元素进行拼装,组合成完成的html页面,再直接返回给浏览器,以便用户浏览
  2. 举例: 服务端渲染案例页面

什么是客户端渲染

  1. 概念:数据由浏览器通过ajax动态取得,在通过js将数据填充到dom元素上最终展示到网页中,这样的过程叫做客户端渲染
  2. 举例:客户端渲染案例页面

服务端渲染 vs 客户端渲染

  1. 服务器端渲染需要消耗更多的服务器端资源( cpu 内存等 )
  2. 客户端渲染可以将静态资源部署到cdn上,实现高并发
  3. 服务器端渲染对SEO更友好

vue服务器端渲染的实现

  1. 网址: vue-SSR
  2. 安装依赖:
    npm install vue vue-server-renderer --save
  3. 编写代码
// 第 1 步:创建一个 Vue 实例
const Vue = require('vue')
const app = new Vue({
template: `<div>Hello World</div>`
})
// 第 2 步:创建一个 renderer
const renderer = require('vue-server-renderer').createRenderer()
// 第 3 步:将 Vue 实例渲染为 HTML
renderer.renderToString(app, (err, html) => {
if (err) throw err
console.log(html)
// => <div data-server-rendered="true">Hello World</div>
})
// 在 2.5.0+,如果没有传入回调函数,则会返回 Promise:
renderer
.renderToString(app)
.then(html => {
console.log(html)
})
.catch(err => {
console.error(err)
})

vue服务器端渲染的实现

  1. 如果使用单文件组件,需要配合webpack来使用
  2. 如果想了解服务器端的webpack配置,可以看这个官方提供的工程 : 服务器端webpack配置网址
  3. 下载官网提供的项目包
  4. vs code安装插件来查看项目 @recommended

nuxt

网址: nuxt网址

1. Nuxt的使用

npm v5.2.0引入的一条命令(npx),引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验
举例: 使用express-generator创建项目
老方法:

npm install express-generator -g
express app

npx方式

npx express app

npx可以减少我们全局安装脚手架

2. nuxt 安装

我们使用脚手架 create-nuxt-app
避免全局安装,我们使用npx

npx create-nuxt-app app
npm i
cd app
yarn run dev
3. nuxt-目录结构

nuxt-目录结构:nuxt-目录结构

4. nuxt-配置 - nuxt.config.js

nuxt-配置:nuxt-配置
举例: 配置 scss

// 1. 在assets 目录中新建css目录,在css目录中新建 main.scss 文件
main.scss
body: {
background: red;
}
// 2. 命令行安装loader
yarn add node-sass sass-loader scss-loader -D
// 3. 在 nuxt.config.js 文件中引入scss文件
css: [
'element-ui/lib/theme-chalk/index.css',
{
src: '@/assets/css/main.scss',
lang: 'scss'
}
],
//
5. nuxt - 路由
  1. 基础路由
  2. 动态路由
  3. 路由传参
  4. 嵌套路由
6. nuxt-视图
7. nuxt - 异步数据
8. 资源文件
9. 插件
10. 模块
11. vuex状态树
12. 命令和部署
  1. 命令
  • nuxt启动一个热加载的Web服务器(开发模式) localhost:3000。
  • nuxt build利用webpack编译应用,压缩JS和CSS资源(发布用)。
  • nuxt start以生产模式启动一个Web服务器 (nuxt build 会先被执行)。
  • nuxt generate编译应用,并依据路由配置生成对应的HTML文件 (用于静态站点的部署)。
  1. 部署
  • 服务器部署
    $ nuxt build || $ nuxt start
  • 静态站点部署
    $ npm run generator
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值