-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!