最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 2.0 服務(wù)端渲染入門介紹

 更新時(shí)間:2017年03月29日 14:18:23   作者:弗朗西斯科  
本篇文章主要介紹了Vue 2.0 服務(wù)端渲染入門,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1 什么是服務(wù)端渲染 SSR

server side render

就是通過(guò)后端吐模板,而不是通過(guò)前端ajax獲取數(shù)據(jù),拼接字符串。

2 為什么需要SSR

需要SEO,因?yàn)榕老x不會(huì)等待ajax結(jié)果。

客戶端網(wǎng)絡(luò)慢,加載速度慢,影響用戶體驗(yàn)。

3 另一種解決辦法 預(yù)渲染

不是一次性下載整個(gè)單頁(yè)應(yīng)用,預(yù)渲染只是在構(gòu)建時(shí)為了特定的路由生成特定的幾個(gè)靜態(tài)頁(yè)面

你用webpack可以很簡(jiǎn)單地通過(guò)prerender-spa-plugin來(lái)添加預(yù)渲染

 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實(shí)例渲染成HTML
  renderer.renderToString(
    // 創(chuàng)建一個(gè)應(yīng)用實(shí)例
    require('./assets/app')(),

    // 處理渲染結(jié)果
    function(error, html){
      if(error){
        console.error(error);
        return res
          .status(500)
          .send('Server Error')
      }
      // 發(fā)送布局和HTML文件
      res.send(layout.replace('<div id="app"></div>', html))

    }
  )
})


server.listen(5000, function(error){
  if(error) throw errorr;
  console.log('Server is running at localhost:5000')
})

// index.html 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="" charset="utf-8"></script>
  <script src="/assets/vue.js" charset="utf-8"></script>
</head>
<body>

  <div id="app"></div>
  <script src="/assets/app.js" charset="utf-8"></script>
  <script type="text/javascript">app.$mount('#app')</script>


</body>
</html>

// assets/app.js

(function() {
  'use strict'
  var createApp = function() {
    return new Vue({
      template: '<div id="app">你已經(jīng)在這花了 {{ counter }} 秒。</div>',
      data: {
        counter: 0
      },
      created: function() {
        var vm = this;
        setInterval(function(){
          vm.counter += 1;
        },1000)
      }
    })
  }

  // 暴露接口
  if(typeof module !== 'undefined' && module.exports) {
    module.exports = createApp
  } else {
    this.app = createApp()
  }

}).call(this)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue?scoped與深度選擇器deep的原理分析

    vue?scoped與深度選擇器deep的原理分析

    這篇文章主要介紹了vue?scoped與深度選擇器deep的原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue上傳圖片到oss的方法示例(圖片帶有刪除功能)

    vue上傳圖片到oss的方法示例(圖片帶有刪除功能)

    這篇文章主要介紹了vue上傳圖片到oss的方法示例(圖片帶有刪除功能),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue3項(xiàng)目keepAlive使用方法詳解

    vue3項(xiàng)目keepAlive使用方法詳解

    keepalive是Vue的內(nèi)置組件,作用是將組件緩存在內(nèi)存當(dāng)中,防止重復(fù)渲染DOM,屬于消耗內(nèi)存獲取速度,這篇文章主要介紹了vue3項(xiàng)目keepAlive使用方法,主要將keepaliev在vue3.0中的用法,需要的朋友可以參考下
    2024-03-03
  • 手把手教你Vue3如何封裝組件

    手把手教你Vue3如何封裝組件

    vue2和vue3的組件封裝還是有區(qū)別,下面這篇文章主要給大家介紹了關(guān)于Vue3如何封裝組件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • vue父組件監(jiān)聽子組件數(shù)據(jù)更新方式(hook)

    vue父組件監(jiān)聽子組件數(shù)據(jù)更新方式(hook)

    這篇文章主要介紹了vue父組件監(jiān)聽子組件數(shù)據(jù)更新方式(hook),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 關(guān)于vite+vue3打包部署問(wèn)題

    關(guān)于vite+vue3打包部署問(wèn)題

    這篇文章主要介紹了關(guān)于vite+vue3打包部署問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue CLI3基礎(chǔ)學(xué)習(xí)之pages構(gòu)建多頁(yè)應(yīng)用

    Vue CLI3基礎(chǔ)學(xué)習(xí)之pages構(gòu)建多頁(yè)應(yīng)用

    這篇文章主要給大家介紹了關(guān)于Vue CLI3基礎(chǔ)學(xué)習(xí)之pages構(gòu)建多頁(yè)應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue CLI3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么

    vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么

    這篇文章主要介紹了vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue express鑒權(quán)零基礎(chǔ)入門

    Vue express鑒權(quán)零基礎(chǔ)入門

    這篇文章主要介紹了詳解express鑒權(quán),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 在antd中setFieldsValue和defaultVal的用法

    在antd中setFieldsValue和defaultVal的用法

    這篇文章主要介紹了在antd中setFieldsValue和defaultVal的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10

最新評(píng)論

宜川县| 金湖县| 宁安市| 呼图壁县| 河西区| 云安县| 永顺县| 天祝| 军事| 光泽县| 牟定县| 长武县| 江陵县| 济南市| 新和县| 普安县| 田东县| 桐乡市| 舞阳县| 金坛市| 宽城| 神农架林区| 金门县| 湄潭县| 宁津县| 上虞市| 吉隆县| 尼木县| 克拉玛依市| 论坛| 新兴县| 芜湖县| 鞍山市| 布拖县| 德保县| 依安县| 公安县| 余姚市| 广平县| 海南省| 乳山市|