安装插件
npm install vue-meta-info --save
npm install prerender-spa-plugin --save-dev
使用方法
vue-meta-info
main.js文件中全局导入并使用
import MetaInfo from 'vue-meta-info'
Vue.use(MetaInfo)
有路由的组件中
export default {
name: 'Index',
metaInfo: {
title: "百检网(baijiantest.com) - 做检测上百检_检测机构_检测服务电商平台",
meta: [
{
name: "keywords",
content: "百检检测,检测机构,检测服务"
},
{
name: "description",
content:
"百检网(baijiantest.com) 一站式检测服务电商服务平台。在线下单,免费上门取样,在线查看实验室检测进度。足不出户,一键下单,检测服务报告送到手。平台以国内获得CNAS、CMA、CAL资质的第三方实验室,为广大检测用户和第三方检测机构提供检测服务、资讯、等专业信息交流平台。检测项目分类:食品检测,环境检测,材料检测,医药检测,水质检测,纺织品检测,玩具检测,电子电器检测,矿产/煤炭检测,石化产品检测等。"
}
]
}
prerender-spa-plugin
main.js文件中
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>',
/* 这句非常重要,否则预渲染将不会启动 */
mounted () {
document.dispatchEvent(new Event('render-event'))
}
})
webpack.prod.conf.js文件中
const webpackConfig = merge(baseWebpackConfig, {
plugins: [
// new ...
// 不要讲这个new放在plugins的开头,否则导致编译报错
new PrerenderSPAPlugin({
// 生成文件的路径,也可以与webpakc打包的一致。
// 下面这句话非常重要!!!
// 这个目录只能有一级,如果目录层次大于一级,在生成的时候不会有任何错误提示,在预渲染的时候只会卡着不动。
staticDir: path.join(__dirname, '../dist'),
// 对应自己的路由文件,比如index有参数,就需要写成 /index/param1。
routes: ['/', '/download'],
// 这个很重要,如果没有配置这段,也不会进行预编译
renderer: new Renderer({
inject: {
foo: 'bar'
},
headless: false,
// 在 main.js 中 document.dispatchEvent(new Event('render-event')),两者的事件名称要对应上。
renderAfterDocumentEvent: 'render-event'
})
})
]
}
原文地址:https://blog.csdn.net/weixin_42332641/article/details/101020629
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。