因为公司官网SEO优化问题,必须要用服务端渲染,prerender-spa-plugin预渲染插件不能满足需求。在此记录整理,Nuxt开发服务端渲染项目时遇到的问题难点(不定时更新)
1、掘金上有一些很不错的Nuxt教程文章,推荐几篇:
https://juejin.im/post/58ff96...
https://juejin.im/post/5bd3fb...
https://juejin.im/post/5cc81e...
https://www.jianshu.com/p/840...
2、在使用window对象时,页面有时会报错window is not defined,解决方法:
//用process.client判断是否客户端,包着window对象的代码就行if (process.client) {}
3、vue-cli创建的项目,即客户端渲染,在详情页类型的文章页面中,如果右侧列表有同类型的文章,那么在点击跳转路由时,需要用到beforeRouteUpdate,判断from来源是不是本路由,是的话则把详情id更新为to路由对象里的id即可,参考Vue Router官方文档:https://router.vuejs.org/zh/g...
//我的代码是这样beforeRouteUpdate(to, from, next){ next(); // console.log(to, from, next) if(from.path.indexOf('NewsDetails') != -1){ this.newsId = to.params.newsId; //更新新闻资讯详情数据 this.getNewsDetailsData(); }},
而Nuxt服务端渲染的项目,我做到这个功能点时,发现不需要写beforeRouteUpdate路由钩子,处理判断,页面也能正常跳转展示正确的数据。