91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue基于NUXT的SSR有什么用

發布時間:2021-08-13 10:22:26 來源:億速云 閱讀:173 作者:小新 欄目:web開發

這篇文章主要介紹Vue基于NUXT的SSR有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

SSR

首先說下 SSR,最近很熱的詞,意為 Server Side Rendering(服務端渲染),目的是為了解決單頁面應用的 SEO 的問題,對于一般網站影響不大,但是對于論壇類,內容類網站來說是致命的,搜索引擎無法抓取頁面相關內容,也就是用戶搜不到此網站的相關信息。

抓取頁面的前提是 html 含有被抓取內容,我們不妨看看基于 vue 的線上 SPA 頁面請求時返回了什么

<!DOCTYPE html>
<html>
 <head>
  <meta charset=utf-8>
  <title>iDareX敢玩</title>
  <meta name=keywords content="敢玩, iDareX, 敢玩TV, 敢玩活動, 敢玩自頻道, 敢玩主題, 戶外, 極限運動, 周邊游, 探險, 時尚, 新潮, 運動視頻, 體育, 新奇, 生活方式, 刺激, 驚險, 戶外裝備, 達人, 90后">
  <meta name=description content=自2014年10月創辦以來,敢玩專注于極限戶外和娛樂體育。從頑童、玩具、玩法三個方面,產出更專注于‘玩'的內容,已打造了一系列深受喜愛的娛樂體育真人秀和引爆網絡的運動視頻。!>
  <meta name=renderer content=webkit>
  <meta name=force-rendering content=webkit>
  <meta name=viewport content="width=1140">
  <meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
  <link rel="shortcut icon" href=static/favicon.ico type=image/x-icon>
  <link href=/static/css/app.eef5b81a3d1bee5054a791f452a34147.css rel=stylesheet>
 </head>
 <body>
  <div id=app></div>
  <script type=text/javascript src=/static/js/manifest.6d0adb8f2d8884be1c03.js></script>
  <script type=text/javascript src=/static/js/vendor.ec1cc90c9847c434ba7d.js></script>
  <script type=text/javascript src=/static/js/app.d7fd10ae7e4a68598037.js></script>
 </body>
</html>

我們的組件都是這個 html 文件返回后再渲染到 <div id=app></div> 里的。這就合理的解釋了 SEO 缺陷的原因。

既然說到 SSR 可以解決 SEO 的問題,不難想到原理就是將我們的 html 在服務端渲染,合成完整的 html 文件再輸出到瀏覽器。

另外 SSR 還適用以下場景

  1. 客戶端的網絡比較慢

  2. 客戶端運行在老的或者直接沒有 JavaScript 引擎上

vue 官網給出了 SSR 原理圖片

Vue基于NUXT的SSR有什么用

對于這幅圖的原理官網有詳細解釋,此類文章也很多,這里不贅述。

NUXT

我們進入正題說下 NUXT

Nuxt.js is a minimalistic framework for server-rendered Vue applications (inspired by Next.js)

作用就是在 node.js 上進一步封裝,然后省去我們搭建服務端環境的步驟,只需要遵循這個庫的一些規則就能輕松實現 SSR

安裝流程

Nuxt.js 團隊提供了 vue-cli 的初始化模板。前提安裝 vue-cli,安裝過的忽略此步

npm install -g vue-cli

完成后在需要創建的目錄下執行以下

vue init nuxt/starter <project-name>
cd <project-name>
npm install

依賴安裝完成后

npm run dev

打開瀏覽器 http://localhost:3000

說明:Nuxt.js 會監聽 pages 目錄下的改變,添加新 page 的時候不需要重啟服務

目錄結構

完成上面命令后你的目錄結構會如下

Vue基于NUXT的SSR有什么用

Nuxt.js 給出了最簡單的目錄結構

|-- pages
  |-- index.vue
|-- package.json

也就是說,至少需要一個 page 來作為展示頁。

文件的路徑建議都采用絕對路徑,表格如下

Vue基于NUXT的SSR有什么用

例:怎么在 /pages/user/me.vue 引入一個 static 文件夾里的圖片

<img src="~static/img/logo.png" alt="Logo"/>

路由

Nuxt.js 根據 pages 目錄結構去生成 vue-router 配置,也就是說 pages 目錄的結構直接影響路由結構

例1:

|-- pages
  |-- posts
    |-- index.vue
    |-- welcome.vue
  |-- about.vue
  |-- index.vue

會生成

routes: [
 {
  path: '/posts',
  component: '~pages/posts/index.vue'
 }, {
  path: '/posts/welcome',
  component: '~pages/posts/welcome.vue'
 }, {
  path: '/about',
  component: '~pages/about.vue'
 }, {
  path: '/',
  component: '~pages/index.vue'
 }
]

例2:隱藏路由

在文件名前加 _

|-- pages
  |-- _about.vue
  |-- index.vue

會生成

routes: [
 {
  path: '/',
  component: '~pages/index.vue'
 }
]

配置文件

目錄下的 nuxt.config.js 是我們唯一的配置入口,這里不建議修改 .nuxt 目錄,除非特殊需求

默認的給力我們三個配置 ·head·css·loading· 分別是頭部設置,全局css,loading進度條

nuxt.config.js 的全部的配置如下,點擊查看具體例子

  1. cache

  2. loading

  3. router

  4. css

  5. plugins

  6. head

另外還提供了 vuex 等配置,感興趣可以去 github 和官網。

NUXT 能為我們做什么

對于使用就說上面這么多(官網上都有,這里給大家一個概覽),說下為什么選擇 NUXT 來做 SSR

問題1:就是我們無需為了路由劃分而煩惱,你只需要按照對應的文件夾層級創建 .vue 文件就行
問題2:無需考慮數據傳輸問題,nuxt 會在模板輸出之前異步請求數據(需要引入 axios 庫),而且對 vuex 有進一步的封裝
問題3:內置了 webpack,省去了配置 webpack 的步驟,nuxt 會根據配置打包對應的文件

還有很多便捷之處,可以嘗試去寫一寫,讀讀源碼

以上是“Vue基于NUXT的SSR有什么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲沃县| 八宿县| 茂名市| 北京市| 静安区| 利津县| 连江县| 东丰县| 探索| 梁河县| 金乡县| 平湖市| 清涧县| 荣成市| 尼勒克县| 紫阳县| 宁德市| 读书| 荥经县| 大兴区| 锡林郭勒盟| 呼图壁县| 滦平县| 绥宁县| 花垣县| 弥勒县| 太白县| 宝鸡市| 绥阳县| 兴宁市| 平顶山市| 平和县| 高淳县| 体育| 自贡市| 汨罗市| 和林格尔县| 太和县| 秀山| 缙云县| 湄潭县|