1 什么是服务端渲染 SSR
创新互联公司是一家从事企业网站建设、网站设计、成都网站设计、行业门户网站建设、网页设计制作的专业网站建设公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点上1000家。server side render
就是通过后端吐模板,而不是通过前端ajax获取数据,拼接字符串。
2 为什么需要SSR
需要SEO,因为爬虫不会等待ajax结果。
客户端网络慢,加载速度慢,影响用户体验。
3 另一种解决办法 预渲染
不是一次性下载整个单页应用,预渲染只是在构建时为了特定的路由生成特定的几个静态页面
你用webpack可以很简单地通过prerender-spa-plugin来添加预渲染
4 NodeJS编写Vue的SSR
首先npm install --save-dev的有 vue express vue-server-renderer
// server.js 'use strict'; var fs = require('fs'); var path = require('path'); global.Vue = require('vue') var layout = fs.readFileSync('./index.html', 'utf8') var renderer = require('vue-server-renderer').createRenderer() var express = require('express') var server = express() server.use('/assets',express.static( path.resolve(__dirname,'assets') )) server.get('*',function(req, res){ // 将Vue实例渲染成HTML renderer.renderToString( // 创建一个应用实例 require('./assets/app')(), // 处理渲染结果 function(error, html){ if(error){ console.error(error); return res .status(500) .send('Server Error') } // 发送布局和HTML文件 res.send(layout.replace('', html)) } ) }) server.listen(5000, function(error){ if(error) throw errorr; console.log('Server is running at localhost:5000') })
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。