溫馨提示×

溫馨提示×

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

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

vue-cli單頁面預(yù)渲染seo-prerender-spa-plugin的方法

發(fā)布時間:2020-08-12 15:29:25 來源:億速云 閱讀:295 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)vue-cli單頁面預(yù)渲染seo-prerender-spa-plugin的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

1 vue-cli-plugin-prerender-spa

使用方法:

vue add prerender-spa

在安裝的過程中會需要安裝一個chrome,網(wǎng)速不好可能導(dǎo)致不能下載,導(dǎo)致安裝失敗,可以取消chrome的安裝,然后手動下載放在指定的目錄下;

安裝過程中選擇需要預(yù)渲染的route

vue-cli單頁面預(yù)渲染seo-prerender-spa-plugin的方法

安裝成功:

vue-cli單頁面預(yù)渲染seo-prerender-spa-plugin的方法

自動在main.js中加入:

vue-cli單頁面預(yù)渲染seo-prerender-spa-plugin的方法

2 使用prerender-spa-plugin插件

cnpm i prerender-spa-plugin --save-dev vue-cli2.0 在build/webpack.prod.conf.js中:

const PrerenderSPAPlugin = require('prerender-spa-plugin') const Renderer = PrerenderSPAPlugin.PuppeteerRenderer

注冊插件:

在plugins中加入:

new PrerenderSPAPlugin({ staticDir: path.join(__dirname, '../dist'),//打包文件的路徑,或者自定義一個文件路徑 routes: ['/test', '/'],//需要預(yù)渲染的route路徑 renderer: new Renderer({ inject: { foo: 'bar' }, headless: true, renderAfterDocumentEvent: 'render-event'//需要在實(shí)例化Vue中監(jiān)聽的事件,名稱要相對應(yīng) }) })

vue-cli3.0

在vue.config.js

const PrerenderSPAPlugin = require('prerender-spa-plugin'); const Renderer = PrerenderSPAPlugin.PuppeteerRenderer; const path = require('path'); module.exports = { configureWebpack: config => { if (process.env.NODE_ENV !== 'production') return; return { plugins: [ new PrerenderSPAPlugin({ // 生成文件的路徑,也可以與webpakc打包的一致。 // 下面這句話非常重要?。?! // 這個目錄只能有一級,如果目錄層次大于一級,在生成的時候不會有任何錯誤提示,在預(yù)渲染的時候只會卡著不動。 staticDir: path.join(__dirname,'dist'), // 對應(yīng)自己的路由文件,比如a有參數(shù),就需要寫成 /a/param1。 routes: ['/', '/product','/about'], // 這個很重要,如果沒有配置這段,也不會進(jìn)行預(yù)編譯 renderer: new Renderer({ inject: { foo: 'bar' }, headless: false, // 在 main.js 中 document.dispatchEvent(new Event('render-event')),兩者的事件名稱要對應(yīng)上。 renderAfterDocumentEvent: 'render-event' }) }), ], }; } }

在main.js中加入:

new Vue({ el: '#app', router, components: { App }, template: '<App/>', mounted() { // You'll need this for renderAfterDocumentEvent. document.dispatchEvent(new Event('render-event')) } })

感謝各位的閱讀!關(guān)于vue-cli單頁面預(yù)渲染seo-prerender-spa-plugin的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI