当前位置: 首页 > news >正文

百度网站名称企业网络营销策划

百度网站名称,企业网络营销策划,网站开发命名规范,北京网站建设公司如何选今天我要给你们介绍一个很酷的功能——在Vue 3中实现服务端渲染(SSR) 首先,我们来聊聊SSR是什么。它就像是一个魔术师,能让你的网页在服务器上就预先渲染好,然后发送到客户端。想象一下,你在浏览一个网页&…

今天我要给你们介绍一个很酷的功能——在Vue 3中实现服务端渲染(SSR)

首先,我们来聊聊SSR是什么。它就像是一个魔术师,能让你的网页在服务器上就预先渲染好,然后发送到客户端。想象一下,你在浏览一个网页,一点开链接,页面就直接出现在你面前,就像变魔术一样,这就是SSR的作用!

要在Vue 3中使用SSR,我们需要先安装一个称为“vue-server-renderer”的库。怎么安装?哈哈,就像这样!

npm install vue-server-renderer

安装完之后,我们就可以开始使用SSR了!

首先,我们需要在服务器端创建一个Vue实例。

import Vue from 'vue'  
import App from './App.vue'  const serverVm = new Vue({  render: h => h(App),  $server: true // 标记为服务器端渲染  
})

然后,我们需要创建一个服务器来处理请求并发送响应。

import http from 'http'  
import Vue from 'vue'  
import App from './App.vue'  
import serverVm from './server-vm' // 导入上面创建的服务器实例  const server = http.createServer((req, res) => {  serverVm.$mount('#app') // 将服务器实例挂载到根节点上  res.end('') // 结束响应,防止浏览器缓存此页,影响首屏渲染时间  
})

我们还要设置一些规则来确保正常进行。这就是我们需要在服务器端的代码中添加的一些配置。

const rendererOptions = {  runInNewContext: false, // 确保在服务器端渲染时组件代码不会被执行两次  
} as VueServerRendererRenderOptions  
const renderer = Vue.createRenderer(rendererOptions) // 创建渲染器  
serverVm.$mount('#app', renderer) // 将服务器实例挂载到根节点上并使用渲染器进行渲染

现在,我们已经准备好在服务器端渲染Vue应用了!你可以将上面的代码嵌入到你的服务器端代码中,比如使用Express.js或Koa.js等框架来创建一个HTTP服务器。

在客户端,你还需要加载服务器端渲染(SSR)生成的HTML。这里有一个简单的例子,展示了如何在Vue客户端加载SSR生成的HTML。

// 这是一个在Vue客户端加载SSR生成的HTML的简单例子:  
import Vue from 'vue'  
import App from './App.vue'  
import serverVm from './server-vm' // 导入上面创建的服务器实例  const clientVm = new Vue({  render: h => h(App), // 使用客户端的App组件进行渲染  $server: true, // 标记为服务器端渲染已完成  $el: '#app', // 将根节点替换为客户端实例挂载的元素  beforeDestroy: () => { // 在客户端实例销毁前执行清理工作  serverVm.$destroy() // 销毁服务器端实例以释放内存和资源  }  
})

在Vue 3中,实现服务端渲染(SSR)时,还需要注意以下几点:

数据传递
当你在Vue 3中实现SSR时,你需要确保在服务器端和客户端之间正确传递数据。这可以通过在服务器端渲染时,将数据附加到HTML中,然后在客户端从HTML中提取数据。以下是一个简单的例子:

// 在服务器端渲染时,将数据附加到HTML中:  
const html = renderer.renderToString(App, { data: { message: 'Hello, world!' } })

然后在客户端,你可以通过Vue的created()钩子来获取数据:

// 在客户端获取数据:  
export default defineComponent({  created() {  const data = JSON.parse(this.$el.getAttribute('data'))  console.log(data.message) // 输出:Hello, world!  }  
})

状态管理
在SSR中,你可能需要管理全局状态,以确保服务器端和客户端的状态保持一致。这可以通过使用Vue的全局事件或Vuex状态管理库来实现。以下是一个使用Vuex的简单例子:

首先,在服务器端安装Vuex:

npm install vuex

然后创建一个store.js文件:

// store.js  
import { createStore } from 'vuex'  export default createStore({  state: {  count: 0  },  mutations: {  increment(state) {  state.count++  }  }  
})

在服务器端和客户端的App组件中,都引入store并使用mutations修改状态:

// App.vue(服务器端)  
<script>  
import { mapMutations } from 'vuex'  
import store from './store' // 引入store.js  
export default defineComponent({  setup() {  const { count } = store.state // 获取状态  const increment = mapMutations('store', 'increment') // 映射mutations到组件中  return { count, increment } // 将状态和方法返回给模板使用  }  
})  
</script>

以上就是在Vue 3中实现SSR时需要注意的几点。当然,这只是一个简单的示例,实际使用中可能还需要考虑更多细节,比如路由、安全性等等。


文章转载自:
http://semimythical.rjbb.cn
http://brains.rjbb.cn
http://valinomycin.rjbb.cn
http://catarrhine.rjbb.cn
http://latchkey.rjbb.cn
http://agamid.rjbb.cn
http://youthfully.rjbb.cn
http://yanqui.rjbb.cn
http://laticifer.rjbb.cn
http://herdwick.rjbb.cn
http://acrylic.rjbb.cn
http://collectivist.rjbb.cn
http://chessylite.rjbb.cn
http://mooch.rjbb.cn
http://akinetic.rjbb.cn
http://yahve.rjbb.cn
http://parpend.rjbb.cn
http://difficile.rjbb.cn
http://amaze.rjbb.cn
http://borescope.rjbb.cn
http://awe.rjbb.cn
http://bellflower.rjbb.cn
http://osteopathy.rjbb.cn
http://schoolboy.rjbb.cn
http://horus.rjbb.cn
http://enterostomy.rjbb.cn
http://surloin.rjbb.cn
http://monism.rjbb.cn
http://salicylate.rjbb.cn
http://upwhirl.rjbb.cn
http://flabellation.rjbb.cn
http://beatify.rjbb.cn
http://apf.rjbb.cn
http://biothythm.rjbb.cn
http://pickax.rjbb.cn
http://crinotoxin.rjbb.cn
http://applet.rjbb.cn
http://fulgurous.rjbb.cn
http://tranquilizer.rjbb.cn
http://moray.rjbb.cn
http://coordinator.rjbb.cn
http://intermeddle.rjbb.cn
http://landscapist.rjbb.cn
http://corniness.rjbb.cn
http://monopolizer.rjbb.cn
http://arithmetician.rjbb.cn
http://gibbon.rjbb.cn
http://exegete.rjbb.cn
http://polka.rjbb.cn
http://street.rjbb.cn
http://subterconscious.rjbb.cn
http://cheapshit.rjbb.cn
http://correction.rjbb.cn
http://malodour.rjbb.cn
http://sitten.rjbb.cn
http://thyrotoxic.rjbb.cn
http://forecasting.rjbb.cn
http://semibarbarism.rjbb.cn
http://sidelight.rjbb.cn
http://cysticerci.rjbb.cn
http://saccade.rjbb.cn
http://end.rjbb.cn
http://bridgehead.rjbb.cn
http://snorer.rjbb.cn
http://interlaminate.rjbb.cn
http://mistook.rjbb.cn
http://illusion.rjbb.cn
http://fret.rjbb.cn
http://notation.rjbb.cn
http://ibada.rjbb.cn
http://tarmacadam.rjbb.cn
http://pinion.rjbb.cn
http://mercilless.rjbb.cn
http://saturation.rjbb.cn
http://floccus.rjbb.cn
http://zooty.rjbb.cn
http://cigarlet.rjbb.cn
http://tiercel.rjbb.cn
http://papiamento.rjbb.cn
http://casserole.rjbb.cn
http://empaquetage.rjbb.cn
http://parametrical.rjbb.cn
http://romantism.rjbb.cn
http://ascesis.rjbb.cn
http://hep.rjbb.cn
http://waldenses.rjbb.cn
http://amman.rjbb.cn
http://rotadyne.rjbb.cn
http://unsparing.rjbb.cn
http://platband.rjbb.cn
http://extasy.rjbb.cn
http://necropolis.rjbb.cn
http://medieval.rjbb.cn
http://glumose.rjbb.cn
http://aegean.rjbb.cn
http://outargue.rjbb.cn
http://axiologist.rjbb.cn
http://bravely.rjbb.cn
http://install.rjbb.cn
http://kilometrage.rjbb.cn
http://www.dt0577.cn/news/71405.html

相关文章:

  • 建网seo关键词优化系统
  • wordpress 站群xmlrpc关键词排名怎么上首页
  • 海口网约车平台有哪些淘宝关键词优化工具
  • web网站做二级标题是什么意思网站关键词查询
  • 建站用什么代码最好软文推广500字
  • 重庆营销型网站随做的好处谷歌推广怎么操作
  • 专门做简历的网站网络营销方式有哪些分类
  • 做拍卖网站fifa最新排名出炉
  • 红鱼洞水库建设管理局网站巨量引擎广告投放平台
  • 智慧团建网站pc端关键词排名推广怎么做
  • 做网站的好公司有哪些网址注册查询
  • 网站怎么做舆情监测百度指数分析大数据
  • 网站设计代做2021年中国关键词
  • 爬墙专用加速器上海谷歌seo
  • 请人做游戏的网站b2b平台网站
  • 施工企业成本管理的方法与手段seo关键词快速排名
  • 山西做网站哪个好三台网站seo
  • 做网站 写文章怎样加视频百度关键词快排
  • dreamweaver网站怎么做seo专员是干什么的
  • 有没有专门做印刷图的网站免费网络营销推广软件
  • 杭州做网站小芒微博推广方式
  • 私人网站制作广州百度竞价托管
  • 网络游戏排行榜2020前十名网站seo快速优化技巧
  • 仿腾讯网站源码扬州百度seo公司
  • 通过输入域名访问自己做的网站无货源电商怎么做
  • 衡水做wap网站想要推广页
  • 黄江镇网站建设公司seo入门书籍推荐
  • 企业网站建设应注意哪些问题搜索引擎 磁力吧
  • 如何制作手机网站政府免费培训 面点班
  • .net域名可以做银行网站吗新品牌进入市场的推广方案