关于预渲染 -- 可以获取到调用接口后渲染的页面

本文探讨了预渲染(prerender-spa-plugin)在Vue应用中的使用,通过实例展示如何配置路由以生成HTML,以实现首屏优化和SEO。尽管静态HTML中不包含接口动态数据,但在实际运行时,页面能成功获取并显示接口数据,证明预渲染可以支持接口调用后的页面渲染。
摘要由CSDN通过智能技术生成

预渲染(prerender-spa-plugin),简而言之就是配置路由文件的参数,webpack打包生成html。好处是首屏优化和SEO。本文是为了验证预渲染是否能够获取到调用接口后渲染的页面。

about.vue:

 <div class="about">
    <h1>About</h1>
    {{ msgGet1 }}
    {{ msgGet2 }}
    <ul>
      <router-link to="/" tag="li">home</router-link>
      <router-link to="/about" tag="li">about</router-link>
      <router-link to="/contact" tag="li">contact</router-link>
    </ul>
  </div>
<script>
import http from "@/http.js";
export default {
  name: "About",
  data() {
    return {
      msg: "Welcome to Your Vue.js App",
      msgGet1: "预加载data1",
      msgGet2: "预加载data2"
    };
  },
  methods: {
    apiGet() {
      setTimeout(() => {
        this.msgGet1 = "我是变化了的";
      }, 100);
      http
        .get("XXXX")
        .then(res => {
          this.msgGet2 = "我没有改变" + res.return_msg;
          console.log(res);
        })
        .catch(err => {
          console.log(err);
        });
    }
  },
  created() {
    this.apiGet();
  }
};
</script>

这是我npm run build后,build里头about文件夹下的about.html:(打包自动生成) 

可以看到请求接口的动态数据是没有在这个html文件里的,我一开始以为这样代表着预渲染获取不到调用接口后渲染的页面。

之后我开启http-server本地服务,发现返回的html如下,说明是可以获取到调用接口后的页面的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值