vue渲染静态html,vue技巧:解决网页静态化的问题

我们使用vuecli打包出来的vue页面,只有一个html。不错这确实是spa牛逼的地方。

但是对于seo来说,这也是一个致命缺陷。

那就是,完全没法seo。这货连个实体页面都没有。那就很难受了。

此时我们需要借助插件prerender-spa-plugin解决问题。在项目目录输入

cnpm install prerender-spa-plugin -S-d

这里你需要注意一点,你现在需要设置你的route为history模式。当然我们一直是这个模式,之前有人使用hash模式,那个是不可取的。

接着打开webpack.prod.conf.js这个文件在build文件夹中,添加

const PrerenderSpaPlugin = require('prerender-spa-plugin') //静态化

然后还是这个文件,找到plugins,在里面加入

//静态化

new PrerenderSpaPlugin(

// npm run build的输出目录

path.resolve(__dirname, '../dist'),

// 需要进行预渲染的页面

['/', '/components','/download','/articleMain','/test'], {

captureAfterTime: 5000,

maxAttempts: 10,

}

)

注意着里面的地址,是生成静态化以后的目录,这里跟你的route地址是对应的。按照你的route来写。

然后重新输入

npm run build

941ada753d5c

重新打包

完成后是这样的

941ada753d5c

每个route页面都生成了静态页面

但是

这只是一个治标不治本的解决办法!因为只有route中的页面被生成了静态页面,我们的内容页面是无法生成静态的。那么这该怎么办呢?如果你既想使用vue那简介的语法进行开发,又希望项目能实现cms那样自动生成静态的功能,你就需要用到一个吊炸天的东西—基于vue的nuxt.js来开发!

请持续关注龙哥的后续教程!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值