seemnite项目是本人作的一个博客,主要目的是学习 node
koa2
mongoose
项目预览
本文主要讲述项目的过程,但愿对一样困惑的朋友提供一些参考javascript
在开始前,我简略的跑了下如下库,并对ssr有了必定的认识html
webpack的配置主要是参(cao)考(xi) vue-hackernews 和 easy-mock前端
不过,过程是一步一步的,在构建的过程学习了不少, 也遇到了不少问题,一开始我是想用webpack4构建,全部的组件也都是next版的,但最后‘renderer.renderToString’一直报错,为了继续学习koa,最后放弃了,回滚到webpak3.vue
当时的心情可想而知(一万只草泥马),koa还要继续。webpack3简单了不少,也有一些问题。java
主要问题仍是组件生命周期钩子函数,具体的能够看 vue-ssr文档的说明。
该避免在 beforeCreate 和 created 生命周期时产生全局反作用的代码,请将反作用代码移动到 beforeMount 或 mounted 生命周期中。
//添加了路由的匹配 router.get('*', require('./middlewares/view').render(app)) app.use(router.routes()).use(router.allowedMethods())
mongodb
await Promise.all( body.tags.map(async tag => { let value = await Tag.findOne({ name: tag }) if (!value) { value = await Tag.create({ name: tag }) } return value.id }) )
github源码
后续还会继续完善,麻雀虽小五脏俱全,后面还有一篇关于服务器部署的node