vue-cli 단일 페이지 미리 렌 더 링 seo-prerender-spa-plugin 작업

1 vue-cli-plugin-prerender-spa
사용 방법:
vue add prerender-spa
설치 과정 에서 chrome 을 설치 해 야 합 니 다.네트워크 속도 가 좋 지 않 으 면 다운로드 할 수 없고 설치 에 실패 할 수 있 습 니 다.chrome 의 설 치 를 취소 한 다음 에 수 동 으로 다운로드 하여 지정 한 디 렉 터 리 에 놓 을 수 있 습 니 다.
설치 과정 에서 미리 렌 더 링 할 route 를 선택 하 십시오.

설치 성공:

자동 으로 main.js 에 가입:

2 prerender-spa-plugin 플러그 인 사용
cnpm i prerender-spa-plugin --save-dev
vue-cli 2.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', '/'],//      route  
  renderer: new Renderer({
  inject: {
   foo: 'bar'
  },
  headless: true,
  renderAfterDocumentEvent: 'render-event'//      Vue      ,      
  })
 })
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     。
   //          !!!
   //          ,          ,               ,             。
   staticDir: path.join(__dirname,'dist'),
   //          ,  a   ,      /a/param1。
   routes: ['/', '/product','/about'],
   //      ,        ,        
   renderer: new Renderer({
   inject: {
    foo: 'bar'
   },
   headless: false,
   //   main.js   document.dispatchEvent(new Event('render-event')),           。
   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'))
 }
})
이상 의 vue-cli 단일 페이지 에 서 는 seo-prerender-spa-plugin 작업 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 실 수 있 고 많은 응원 바 랍 니 다.

좋은 웹페이지 즐겨찾기