基于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.本人在公司 ...
随机推荐
- Docker 配置固定IP及桥接的实现方法(转载)
这篇文章主要介绍了Docker 配置固定IP和桥接的实现方法的相关资料,这里详细介绍了Docker 的四种网络模式及如何实现桥接的案例,需要的朋友可以参考下 docker默认使用bridge模式,通过 ...
- hdu 1394 (线段树求逆序数)
<题目链接> 题意描述: 给你一个有0--n-1数字组成的序列,然后进行这样的操作,每次将最前面一个元素放到最后面去会得到一个序列,那么这样就形成了n个序列,那么每个序列都有一个逆序数,找 ...
- uva 674 Coin Change 换钱币【完全背包】
题目链接:https://vjudge.net/contest/59424#problem/A 题目大意: 有5种硬币, 面值分别为1.5.10.25.50,现在给出金额,问可以用多少种方式组成该面值 ...
- python的os模块总结
python的os模块总结 目录 常用方法和属性总结 文件操作 目录操作 常用方法和属性总结 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir(&quo ...
- AngularJS之前端解析excel文件
之前发现一款比较强大的js解析excel插件SheetJS js-xlsx,一直未投入到生产中使用.最近有批量导入的需求,大致看了下文档,使用比较方便快捷,容易上手,现在以AngularJS为例,介绍 ...
- where field in
SELECT * FROM xx WHERE field IN ('11','22','33');
- java 测量运行时间 单位:毫秒
import java.util.*; public class DiffDemo { public static void main(String args[]) { try { long star ...
- Vue的移动端多图上传插件vue-easy-uploader
原文地址 前言 这段时间赶项目,需要用到多文件上传,用Vue进行前端项目开发.在网上找了不少插件,都不是十分满意,有的使用起来繁琐,有的不能适应本项目.就打算自己折腾一下,写一个Vue的上传插件,一劳 ...
- 51nod 1277 字符串中的最大值
题目链接 51nod 1277 字符串中的最大值 题解 对于单串,考虑多串的fail树,发现next数组的关系形成树形结构 建出next树,对于每一个前缀,他出现的次数就是他子树的大小 代码 #inc ...
- 牛客提高集训营6 C 树(树链剖分)
题目链接 为了纪(zhuang)念(bi)写完这个树剖单独写一篇.感觉还好,也就6k嘛. 完整比赛题解:https://www.cnblogs.com/SovietPower/p/9826829.ht ...