基于vue-cli项目添加服务端渲染
两个示例的git地址:
1. 我的环境
2. 方式一:使用prerender-spa-plugin插件获得SSR的效果。
2.1 说明
2.2 初始化
1 |
vue init webpack vue-prerender-demo //此文章都是在webpack基础上配置的 |
1 |
cd vue-prerender-demo |
2.3 配置
2.4 开始
1. 安装 prerender-spa-plugin, 因为依赖phantom js
,phantom 的安装比较蛋疼,太耗时了~
1 |
npm install prerender-spa-plugin -D |
2. 开始 prerender 相关的配置:
1 |
//引用 |
3. 编译
1 |
npm run build |
4. 验证
1 |
cd dist //进入到对应目录 |
2.5 优缺点
3. 方式二:使用官方提供的轮子在node端做SSR
3.1 说明
3.2 约束
3.3 准备工作
1 |
vue init webpack vue-ssr-demo |
1 |
cd vue-ssr-demo |
3.4 开始折腾
1. 首先安装 ssr 支持
1 |
npm i -D vue-server-renderer |
2. 增加路由test
与页面
1 |
<template> |
3. 在src
目录下创建两个js:
1 |
src |
4. 修改router
配置。
1 |
import Vue from 'vue' |
5. 改造main.js
1 |
import Vue from 'vue' |
6. entry-client.js
加入以下内容:
1 |
import { createApp } from './main' |
7. entry-server.js
1 |
// entry-server.js |
8. webpack
配置
1 |
build |
9. webpack 客户端的配置
1 |
const VueSSRClientPlugin = require('vue-server-renderer/client-plugin') |
10. webpack 服务器端的配置
1 |
const webpack = require('webpack') |
1 |
baseConfig.module.rules[1].options = '' // 去除分离css打包的插件 |
11. 配置package.json
增加打包服务器端构建命令并修改原打包命令
1 |
"scripts": { |
12. 修改index.html
1 |
<!DOCTYPE html> |
13. 运行构建命令
1 |
npm run build |
14. 构建服务器端(官方例子使用的express
,所以此 demo 将采用koa2
来作为服务器端,当然,无论是 koa 与 express 都不重要…)
1 |
npm i -S koa |
1 |
const Koa = require('koa') |
15. 编写服务端代码
1 |
const Koa = require('koa') |
1 |
node server.js |
16. 大功告成
3.4 优缺点
基于vue-cli项目添加服务端渲染的更多相关文章
- 改造@vue/cli项目为服务端渲染-ServerSideRender
VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...
- 使用 Vue 2.0 实现服务端渲染的 HackerNews
Vue 2.0 支持服务端渲染 (SSR),并且是流式的,可以做组件级的缓存,这使得极速渲染成为可能.同时, 和 2.0 也都能够配合 SSR 提供同构路由和客户端 state hydration.v ...
- 使用 PHP 来做 Vue.js 的 SSR 服务端渲染
对于客户端应用来说,服务端渲染是一个热门话题.然而不幸的是,这并不是一件容易的事,尤其是对于不用 Node.js 环境开发的人来说. 我发布了两个库让 PHP 从服务端渲染成为可能.spatie/se ...
- 基于Vue/React项目的移动端适配方案
本文的目标是通过下文介绍的适配方案,使用vue或react开发移动端及H5的时候,不需要再关心移动设备的大小,只需要按照固定设计稿的px值布局,提升开发效率. 下文给出了本人分别使用create-re ...
- vue/cli项目添加外部js文件的一个方法
有一个util.js文件,内容如下 function Util () { ... } export default new Util() 可以在main.js里面通过import引入js import ...
- 实例PK(Vue服务端渲染 VS Vue浏览器端渲染)
Vue 2.0 开始支持服务端渲染的功能,所以本文章也是基于vue 2.0以上版本.网上对于服务端渲染的资料还是比较少,最经典的莫过于Vue作者尤雨溪大神的 vue-hacker-news.本人在公司 ...
- Vue服务端渲染和Vue浏览器端渲染的性能对比
Vue 2.0 开始支持服务端渲染的功能,所以本文章也是基于vue 2.0以上版本.网上对于服务端渲染的资料还是比较少,最经典的莫过于Vue作者尤雨溪大神的 vue-hacker-news.本人在公司 ...
- Egg + Vue 服务端渲染工程化实现
在实现 egg + vue 服务端渲染工程化实现之前,我们先来看看前面两篇关于Webpack构建和Egg的文章: 在 Webpack工程化解决方案easywebpack 文章中我们提到了基于 Vue ...
- Vue服务端渲染 VS Vue浏览器端渲染)
Vue 2.0 开始支持服务端渲染的功能,所以本文章也是基于vue 2.0以上版本.网上对于服务端渲染的资料还是比较少,最经典的莫过于Vue作者尤雨溪大神的 vue-hacker-news.本人在公司 ...
随机推荐
- 'utf-8' codec can't decode byte 0xc8 in position 0
今天学习python中使用jieba库,遇到了错误:“UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: i ...
- git合并冲突解决方法
1.git merge冲突了,根据提示找到冲突的文件,解决冲突 如果文件有冲突,那么会有类似的标记 2.修改完之后,执行git add 冲突文件名 3.git commit 注意:没有-m选项 进去类 ...
- POJ.1752.Advertisement(差分约束 最长路SPFA)
题目链接 \(Description\) 有\(n\)个人在一条直线上跑步,每个人的起点 \(Si\).终点 \(Ei\) 已知:每个点可以放一个广告牌,一个人\(i\)能看到的广告牌数量为 \(Ei ...
- git小笔记
git账号:eggsy.cao@pictureworks.biz eggsycao 1.新建文件夹,并进入,命令窗口:git init 2.提交文件 git add fileName(git add ...
- MoreWindows 微软认证专家博客目录(白话算法,C++ STL,windows编程)
为了方便大家查找和学习,现将本人博客中所有博客文章列出目录. (http://blog.csdn.net/morewindows) 一. 白话经典算法 目前有17篇,分为七大排序和经典面试题 ...
- docker 安装 nginx
docker pull nginx docker run -d -p 80:80 -v /opt/nginx/www/:/usr/share/nginx/html/ --name webserver ...
- only_full_group_by的注意事项
only_full_group_by的注意事项 使用这个就是使用和oracle一样的group 规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行
- windows 下重置 mysql 的 root 密码
今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常. 使用 root 账号登录 mysql 数据库,结果提示密码不匹配.我突然意识到,服务器 ...
- Java多线程:Linux多路复用,Java NIO与Netty简述
JVM的多路复用器实现原理 Linux 2.5以前:select/poll Linux 2.6以后: epoll Windows: IOCP Free BSD, OS X: kqueue 下面仅讲解L ...
- AFN和GCD并行同步问题
链接: GCD 中组队列group与Afnetworking的结合使用 使用AFNetworking3.0实现接口异步并发 从并发编程到GCD浅述之一----任务.队列.线程复用.AFN3.0同步请求 ...