vue 预渲染部分dom,vue渲染完成

  vue 预渲染部分dom,vue渲染完成

  Vue是一个单页应用,这使得一些爬虫和百度无法搜索到它。如果想对应用的某些页面进行SEO优化,让爬虫和百度都能搜索到,可以进行预渲染。下面文章主要介绍Vue单页应用预渲染的相关信息。有需要的朋友可以参考一下。

  

目录

  前言VUE-CLI 2.0版VUE-CLI 3.0版摘要

  

前言

  使用vue-cli的打包项目通常是spa项目。众所周知,单页应用不利于SEO。有两种解决方案:ssr(服务器端渲染)和预渲染。这里我们只讨论预渲染。

  

vue-cli2.0版本

  固定

  npm安装先决条件-spa-插件-保存

  向webpack.prod.conf.js添加一些代码

  const path=require(path )

  constprenderspaplugin=require( prerender-spa-plugin )//介绍插件

  const Renderer=PrerenderSPAPlugin。木偶表演者

  插件:[

  //配置PrerenderSPAPlugin

  新的PrerenderSPAPlugin({

  //生成文件的路径也可以和webpakc打包的路径相同。

  staticDir: path.join(__dirname,./dist ),

  //对应自己的路由文件,比如index有参数就需要写成/index/param1。

  路线:[/,/report ,/genius ,/index/param1],

  //一定要写出来。如果没有配置此段落,它将不会被预编译。

  渲染器:新渲染器({

  注入:{

  foo:“酒吧”

  },

  无头:假的,

  //在main.js,document . dispatch event(new event( render-event ))中,两者的事件名称应该是对应的。

  renderAfterDocumentEvent:“渲染事件”

  })

  })

  ]

  在main.js中添加

  新Vue({

  埃尔: #pingce ,

  路由器,

  店,

  组件:{ App },

  模板:“App/”,

  //Add mounted,否则不会预编译。

  已安装(){

  document.dispatchEvent(新事件( render-event ))

  }

  })

  设置模式:router.js中的“历史”

  运行npm run build,查看生成的dist的目录中是否有对应于每个路由名称的文件夹。然后,在目录中找到一个index.html,用IDE打开,看看文件中有没有应该在文件中的内容。

  您配置的每条路径都会生成一个文件夹,然后在每个文件夹下都会生成一个index.html

  

vue-cli3.0版本

  3.0的cli看起来简单多了,2.0的build、config等目录都去掉了,那么如何修改webpack的配置呢?

  在根目录中为您的配置创建vue.config.js。

  固定

  npm安装先决条件-spa-插件-保存

  在vue-config.js中添加

  const PrerenderSPAPlugin=require( prerender-spa-plugin );//引入插件

  const Renderer=PrerenderSPAPlugin。木偶师;

  const path=require( path );

  模块.导出={

  configureWebpack: config={

  if (process.env.NODE_ENV!==production )返回;

  返回{

  插件:[

  新的PrerenderSPAPlugin({

  //生成文件的路径也可以和webpakc打包的路径相同。

  //这个目录只能有一级。如果目录级别大于一级,生成时不会有错误提示,只会在预渲染时卡死。

  staticDir: path.join(__dirname, dist ),

  //对应自己的路由文件,比如about有参数,就需要写成/about/param1。

  路线:[/,/产品,/关于],

  //必须对其进行配置,否则不会预编译。

  渲染器:新渲染器({

  注入:{

  foo:“酒吧”

  },

  无头:假的,

  //在main.js,document . dispatch event(new event( render-event ))中,两者的事件名称应该是对应的。

  renderAfterDocumentEvent:“渲染事件”

  })

  }),

  ],

  };

  }

  }

  在main.js中添加

  新Vue({

  路由器,

  店,

  render: h=h(App),

  //它必须对应于vue-config.js的RenderAfterDocumentEvent的名称:“Render-Event”

  已安装(){

  document.dispatchEvent(新事件( render-event ))

  }

  }).$ mount(“# app”)

  在router.js中设置模式:“历史”

  运行npm run build,查看生成的dist的目录中是否有对应于每个路由名称的文件夹。

  

总结

  1.最好使用历史模式作为路由模式。您可以在不使用生成的文件的情况下运行它,但是要检查每个index.html文件的内容。

  2.3.0和2.0中的设置大致相同,但有几个地方一定要注意。

  在2.0中,设置staticdir: path.join (_ _ dirname,./dist’)

  在3.0中,设置staticdir: path.join (_ _ dirname, dist )

  如果这两个设置错误,运行npm run build将会报告一个错误。

  如果要设置每个页面的标题和meta信息,推荐【vue-meta-info】。

  关于Vue单页应用预渲染的这篇文章到此为止。更多相关Vue单页应用预渲染,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: