从0到1打造Vue服务端渲染-一

概念

将一个vue组件在服务端渲染为HTML字符串并发送到浏览器,最后再将这些静态标记“激活”为可交互应用程序的过程称为服务端渲染

实现vue ssr的具体过程

创建工程 vue-cli3

vue create ssr-demo

安装依赖

渲染器vue-server-renderer
nodejs服务器 express

npm i vue-server-renderer express -D

编写服务端启动脚本
第一步在项目新建server目录

mkdir server

第二步在server里面创建index.js服务端执行脚本

//nodejs 服务器
const express = require('express')
const Vue = require('vue')

//创建express实例和vue实例
const app = express();
//创建渲染器
const renderer = require('vue-server-renderer').createRenderer();

//将来用渲染器渲染page可以得到html内容
const page = new Vue({
	template:"<div>hello,vue ssr!</div>"
})

app.get('/',async (req,res)  => {
	try{
		const html = await renderer.renderToString(page);
		console.log(html)
		res.send(html)
	}catch(err){
		//TODO handle the exception
		res.status(500).send('服务器内部错误')
		console.log(err) 
	}
})

app.listen(3000,()=>{
	console.log('服务器启动成功')
})

第三步cd到server目录执行

node index.js

在浏览器页面渲染出了
图片1

最后目录展示

├── package-lock.json
├── babel.config.js
├── package.json
├── public
│   ├── favicon.ico
│   └── index.html
├── server
│   └── index.js
└── src
    ├── App.vue
    ├── assets
    │   └── logo.png
    ├── components
    │   └── HelloWorld.vue
    ├── main.js
    ├── router
    │   └── index.js
    ├── store
    │   └── index.js
    └── views
        ├── About.vue
        └── Home.vue

 上一篇
SSR报错Error:... Avoid using CommonsChunkPlugin in the server config. SSR报错Error:... Avoid using CommonsChunkPlugin in the server config.
SSR是很坑,这个打包报错我都弄了几个小时,才发现问题 解决方法: splitChunks: TARGET_NODE ? false : undefined node环境下必须将splitChunks才不报错 完整vue.config.j
2019-12-10
下一篇 
Vue切换路由取消axios指定请求与取消重复请求并存方案 Vue切换路由取消axios指定请求与取消重复请求并存方案
前言 今天做项目有个需要切换路由就取消上个页面请求的需求,就去找了很多有关这方面的文章,现在项目做好了,在这里做个总结,方便之后查询和帮助和我一样遇到相同需求的前端程序猿。 此文章介绍这么一套完整方案,即可满足切换路由取消指定请求与取消重复
2019-12-06
  目录