All Projects → lzxb → Vue2 Demo

lzxb / Vue2 Demo

Vue 基于 Genesis + TS + Vuex 实现的 SSR demo

Programming Languages

typescript
32286 projects
Vue
7211 projects
shell
77523 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue2 Demo

Dashboard
A dashboard scaffolding based on Vue.js 3.0 created by Vite.
Stars: ✭ 497 (-76.01%)
Mutual labels:  vue-demo, webpack, vue-cli, vuex, vuejs2, vue-router, vue2
Vue Home
🏠 A simple project(Vue Community SPA) which bases on vue+vue-cli+vue-router+axios+ scss.
Stars: ✭ 256 (-87.64%)
Mutual labels:  webpack, vue-cli, vuex, vuejs2, vue-router, vue2
Vue Meizi
vue最新实战项目,vue2 + vuex + webpack + es6 干货多多,新手福利
Stars: ✭ 1,476 (-28.76%)
Mutual labels:  webpack, vue-cli, demo, vuex, vue-router
Vue Music Player
🎵Vue.js写一个音乐播放器+📖One(一个).A music player + One by Vue.js
Stars: ✭ 729 (-64.82%)
Mutual labels:  webpack, vuex, vuejs2, vue-router, vue2
Egg Vue Webpack Boilerplate
Egg Vue Server Side Render (SSR) / Client Side Render (CSR)
Stars: ✭ 1,302 (-37.16%)
Mutual labels:  webpack, vue-cli, vuex, ssr, vue-router
Vue Wechat
🔥 基于Vue2.0高仿微信App的单页应用
Stars: ✭ 1,832 (-11.58%)
Mutual labels:  vue-cli, vuex, vuejs2, vue-router, vue2
Douban
Awesome douban DEMO created with Vue2.x + Vuex + Vue-router + Superagent
Stars: ✭ 2,324 (+12.16%)
Mutual labels:  vue-demo, vue-cli, vuex, vue-router, vue2
Vue Objccn
🔥 Use Vue.js to develop a cross-platform full stack application / 用 Vue.js 开发的跨三端应用
Stars: ✭ 1,993 (-3.81%)
Mutual labels:  vue-cli, vuex, vuejs2, vue-router, vue2
Gpk admin
✨ GeekPark Content Management System
Stars: ✭ 150 (-92.76%)
Mutual labels:  vue-cli, vuex, vuejs2, vue-router, vue2
Manhuaren
vue2.0全家桶,仿漫画人官网(移动端)
Stars: ✭ 18 (-99.13%)
Mutual labels:  webpack, vue-cli, vuex, vuejs2, vue-router
Vue Cnode
🔥Vue.js打造一个开源的CNode社区。CNode by Vue.js
Stars: ✭ 249 (-87.98%)
Mutual labels:  webpack, vuex, vuejs2, vue-router, vue2
Eleme
restructure..
Stars: ✭ 1,635 (-21.09%)
Mutual labels:  webpack, vue-cli, demo, vuex, vue-router
Vuemmerce
👉 Responsive ecommerce template 🛒 built with Vue.js and Nuxt.js
Stars: ✭ 223 (-89.24%)
Mutual labels:  vue-cli, vuex, vuejs2, vue-router, vue2
Vue Cli Multi Page
基于vue-cli模板的多页面多路由项目,一个PC端页面入口,一个移动端页面入口,且有各自的路由, vue+webpack+vue-router+vuex+mock+axios
Stars: ✭ 145 (-93%)
Mutual labels:  webpack, vue-cli, vuex, vue-router, vue2
Easy Vue
Learn vueJS Easily 👻
Stars: ✭ 896 (-56.76%)
Mutual labels:  vue-demo, webpack, vuex, vuejs2, vue2
Vue Cnode
基于vue2 + vue-router + vuet + ES6 + less + flex.css重写vue版cnode社区,使用webpack2打包
Stars: ✭ 1,134 (-45.27%)
Mutual labels:  vue-demo, vuex, vuejs2, vue-router, vue2
Vuetify Todo Pwa
✔️ A simple Todo PWA built with Vue CLI 3 + Vuex + Vuetify.
Stars: ✭ 160 (-92.28%)
Mutual labels:  vue-cli, vuex, vuejs2, vue-router, vue2
Vuedemo sell eleme
ele by vue2.x 🐧
Stars: ✭ 1,349 (-34.89%)
Mutual labels:  webpack, vuex, vue-router, vue2
Vue Cli Multipage Bootstrap
vue-cli-multipage-bootstrap demo with vue2+vue-router+vuex+bootstrap+markdown for learning vue2.0
Stars: ✭ 105 (-94.93%)
Mutual labels:  vue-cli, vuex, vue-router, vue2
Xyy Vue
🎨基于vue+vue-router+vuex+axios+webpack开发的个人Demo《Qu约》
Stars: ✭ 1,316 (-36.49%)
Mutual labels:  webpack, vue-cli, vuex, vue-router

前言

这个项目最开始建立的是2016年的时候,如今已经过去了4年多,时光匆匆,如今 TS 已经流行起来,并且自己已经在 SSR 方面实践颇多,所以就花了半天的时间使用 Genesis 写了一个完整的 Vue SSR 的demo。

快速开发

# 开发环境启动
npm run dev
# 打包生产环境代码
npm run build
# 生产环境运行
npm run start

docker

只需要执行 yarn build 命令后,将 distnode_modules、目录和 package.json 文件 复制到镜像内即可,然后执行 yarn start 命令启动程序即可

技术栈

  • Vue
  • Genesis
  • vue-router
  • vuex
  • axios
  • vue-meta
  • TS

功能点

  • 实现登录、退出、微博列表
  • 使用 vue-meta 管理页面 SEO 的信息
  • 使用 TS 封装了 axios 的请求类,涉及到服务端请求的 header 转发
  • 编写了 Vue 的基类,使得 Vue、Vuex 和 TS 的配合更好
  • 完整的展示了开发 Vue SSR 项目所需要注意的知识点
  • 基于 Genesis 开发的完整功能的 demo
  • 演示了如何在服务端预取数据,在客户端还原服务端状态
  • 演示了如何编译 SSR 和 TS 生产环境的代码

目录说明

.
├── dist                  yarn build 编译后的源码目录
├── mock                  模拟接口
│   └── mock.ts           实现登录、退出、微博列表的 mock api
├── src                   源码目录
│   ├── components        公共组件
│   |   └── v-header.vue  封装一个头部的组件
|   ├── request           请求处理目录
|   |   └── index.ts      封装 axios 请求类的实现
|   ├── router            路由管理目录
|   |   └── index.ts      提供创建路由的方法
|   ├── store             状态管理目录
|   |   └── index.ts      程序全局状态的实现
|   ├── utils             封装工具函数目录
|   |   └── index.ts      工具函数的封装
|   ├── views             页面目录
|   |   ├── home.vue      网站首页
|   |   └── signin.vue    登录页面
|   ├── app.vue           应用的公共组件
|   ├── base-vue.ts       对 Vue 封装一封,包装 vuex、request
|   ├── entry-client.ts   客户端入口文件
|   ├── entry-server.ts   服务端入口文件
|   └── shims-vue.d.ts    Vue 文件的 TS 声明
├── .editorconfig         编辑器配置
├── .eslintignore         eslint 的忽略配置
├── .eslintrc.js          eslint 的配置
├── .gitignore            git 的忽略文件
├── .stylelintignore      stylelint 的忽略文件
├── build.sh              编译生产环境代码到 dist 目录,yarn start 执行
├── genesis.build.ts      Genesis 构建生产环境代码
├── genesis.dev.ts        dev 环境开发入口
├── genesis.prod.ts       生产环境开发入口
├── genesis.ts            dev 和 生产环境,通用逻辑封装
├── index.html            SSR 渲染的基本 html 模板
├── package.json          包管理配置
├── README.md             项目说明文档
├── stylelint.config.js   stylelint 的配置文件
├── tsconfig.json         TS 的配置文件
└── yarn.lock             yarn 的依赖版本锁

Genesis

Genesis 是一个 Vue 的 SSR 库,它提供了 SSR 最基础的能力,在它的基础上,你可以实现微前端、微服务的架构,如果你想深入的了解它,请查看它的官方文档

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].