-no-ssr-demo 未作ssr以前的项目代码用于对比html
-vuecli2ssr 将vuecli生成的项目转为ssr前端
-prerender-demo 使用prerender-spa-plugin 的预渲染demovue
-readme-images readme文件的几个图片node
服务器端将Vue组件直接渲染未html字符串,发送至浏览器,最后在浏览器中混合为可交互的应用程序webpack
服务器渲染的 Vue.js 应用程序也能够被认为是"同构"或"通用",由于应用程序的大部分代码均可以在服务器和客户端上运行。ios
是一个参考了 React.js 栈下的 Next.js 的一个更高封装接口的 SSR 框架。它封装了一层和 vue-router、vuex 及 webpack 设置这一层需求,能够快速开发 SSR.git
若是你调研服务器端渲染(SSR)只是用来改善少数营销页面(例如 /, /about, /contact 等)的 SEO,那么你可能须要预渲染。无需使用 web 服务器
实时动态编译 HTML,而是使用预渲染方式,在构建时(build time)简单地生成针对特定路由的静态 HTML 文件。优势是设置预渲染更简单,并能够将你
的前端做为一个彻底静态的站点。
若是你使用 webpack,你可使用 prerender-spa-plugin 轻松地添加预渲染。github
才能在服务器渲染应用程序中运行。web
服务器负载
,并明智地采用缓存策略
。器,否则服务器会慢慢的被这些定时器给榨干了因单线程的机制,在服务器端渲染时,过程当中有相似于单例的操做,那么全部的请求都会共享这个单例的操做,因此应该使用工厂函数来确保每一个请求之间的独立性。vue-router
的操做,这是正常而且及其合理的作法。但若是只单纯的使用XHR去操做,那在node端渲染时就出现问题了,因此应该采起axios这种浏览器端与服务器端
都支持的第三方库。
如何与中间层结合
图片见github
图片见github
控制台抛 uncaught ,这是多么贴心的功能。之前都是默默吃掉这个异常的,在一个项目里 debug 简直醉人。
https://www.zhihu.com/questio...
2.http-proxy-middleware connect ECONNREFUSED 127.0.0.1:80
解决方法
1. 将node服务器端口改为 127.0.0.1:80
export default { asyncData ({ params }) { return axios.get(`https://127.0.0.1:3000/api/${params.id}`) .then((res) => { return { title: res.data.title } }) } }
参考: Nuxt ServerError connect ECONNREFUSED 127.0.0.1:80 错误解决
3.axios 将post请求数据转为formdata
axios({ url: '/api/index/getIndexlbt', method: 'post', data: { relevanceId:this.$route.params.id, pictureType:4 }, transformRequest: [function (data) { let ret = '' for (let it in data) { ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' } return ret }], headers: { 'Content-Type': 'application/x-www-form-urlencoded' } })
4.Computed property "currentPage" was assigned to but it has no setter
// currentPage () { // return store.state.currentPage // } currentPage: { get: function () { return store.state.currentPage }, set: function () { } }
https://segmentfault.com/q/10...
https://github.com/ElemeFE/mi...
5.vuex 的dispatch和commit提交mutation的区别
很简单,一个异步操做与同步操做的区别。 当你的操做行为中含有异步操做,好比向后台发送请求获取数据,就须要使用action的dispatch去完成了。 其余使用commit便可。
https://github.com/vuejs/vue-...\
https://github.com/hilongjw/v...
从零开始搭建vue-ssr系列之二:Client端渲染以及webpack2+vue2踩坑之旅
Vue项目SSR改造实战 可参考性比较强
史上最详细易懂的vue服务端渲染(ssr)教程 能够简单理解,对于后期搭建好想没啥大用
vue-hackernews-2.0 源码解读 对项目总体结构说明,能够结合官方demo查看更佳
详解 Vue & Vuex 实践 掘金的项目实战
官方文档:
vuex2-demo demo不错
官方demo 官方demo,大而全,存在接口墙的问题
vnews 解决官方demo没法访问的问题, 功能相似vue-hackernews-2.0, 只不过内容源换成掘金网站,于是没法使用service worker的push功能。
Beauty 据说挺好,可是没有尝试
问题:
应用程序的代码分割或惰性加载,有助于减小浏览器在初始渲染中下载的资源体积,能够极大地改善大致积 bundle 的可交互时间 (TTI - time-to-interactive)。这里的关键在于,对初始首屏而言,"只加载所需"。
有帮助请点个star!