Nuxt.js是一個基於Vue.js的輕量級應用框架,可用來建立服務端渲染(SSR)應用, 也能夠充當靜態站點引擎生成。 具備優雅的代碼結構分層和熱加載等特性。
SPA(single page web application)單頁Web應用, Web再也不是一張張頁面, 而是一個總體的應用,一個由路由系統、數據系統、頁面(組件)系統等等組成的應用程序。 Vue.js就是SPA中的佼佼者。 SPA應用普遍用於對SEO要求不高的場景中。
SEO就是 搜索引擎優化(Search Engine Optimization),經過各類技術(手段)來確保咱們 的Web內容被搜索引擎最大化收錄,最大化提升權重,最終帶來更多流量。 而SPA程序不利於SEO。
注: 而咱們須要解決SEO這個問題就能夠用到Nuxt.js框架來建立服務端渲染(SSR)應用。javascript
SSR服務端渲染(Server Side Render),即:網頁是經過服務端渲染生成後輸出給客戶端。 將前端拆分2部分:客戶端和服務端 服務器端渲染,就是讓前端服務端的代碼先執行,就能夠提早得到後端提供的數據
npx create-nuxt-app 項目名
項目做者以後: 若是出現選擇JavaScript或者是TypeScript的選擇第一個JavaScript便可, 沒出現請忽略這句話前端
咱們在安裝時,已經選擇axios模塊vue
//get請求 this.$axios.get('路徑',{ params : 參數 }) //post請求 this.$axios.post('路徑', 參數) //put this.$axios.put('路徑', 參數) //delete this.$axios.delete('路徑')
<template> <div> <h1 style="margin-left:250px">新聞列表</h1> <table border="1px" style="margin:auto"> <tr> <th>新聞標題圖片</th> <th>新聞標題</th> <th>新聞做者</th> <th>新聞類型</th> </tr> <tr v-for="(news,index) in newsList" :key="index"> <td> <img style="widht:100px;height:110px" :src="news.author_avatar" alt /> </td> <td v-text="news.title"></td> <td v-text="news.author_name"></td> <td v-text="news.column_name"></td> </tr> </table> </div> </template> <script> export default { data() { return { newsList: [] }; }, async created() { /**漫路h */ let { data } = await this.$axios.get("https://unidemo.dcloud.net.cn/api/news"); this.newsList = data; } }; </script> <style> </style>