在实际业务开发中,会遇到这样一种需求,使用VUE的页面须要支持SEO,同时对首屏有指标性要求,目前市面上广泛使用的是Nuxt.js解决方案,在引入的同时还须要考虑与现有的全栈工程结合,本系列文章探讨的是此类全栈工程的解决方案,同时使用的是TypeScript应用于先后端编程,文章中介绍的工程与技术要点源码已上传至Github,有须要的朋友可自行下载:
Nuxt.js和Nest.js同构工程vue
复制代码
文章意在抛砖引玉,先后端使用同一种语言TypeScript编写,示例已包含基本接口请求,数据库链接应用,公用模块封装等实际开发中使用到的内容。git
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 2、《框架融合》github
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 3、《配置服务》vuex
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 4、《UI系统》数据库
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 5、《API服务设计》编程
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 6、《SEO功能实现》后端
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 7、《Vuex使用》缓存
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 8、《接入Mongo DB服务》框架
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 9、《TypeScript》模块化
TypeScript全栈工程实战-(Nuxt. js & Nest. js) - 10、《工程化部署》
Vuex 为 Vue.js 应用程序状态管理模式,其采用集中式存储管理应用的全部组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
State:
Vuex中的数据源,须要保存的数据保存之处
Getters:
至关于vue中的computed计算属性,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被从新计算,这里咱们能够经过定义vuex的Getter来获取,Getters 能够用于监听、state中的值的变化,返回计算后的结果。
Mutations:
修改store中的值惟一的方法。
Actions:
修改时提交一个actions,在actions中提交mutation再去修改状态值。
以示例中购物车数量增减为例:
实现效果
模块化
mutation 定义store
action
调用