这个项目最开始建立的是 2016 年的时候,如今已经过去了 4 年多,时光匆匆,如今 TS 已经流行起来,并且自己已经在 SSR 方面实践颇多,所以就花了半天的时间使用 Genesis 写了一个完整的 Vue SSR 的 demo 。
# 开发环境启动
npm run dev
# 打包生产环境代码
npm run build
# 生产环境运行
npm run start
只需要执行 yarn build
命令后,将 dist
、node_modules
、目录和 package.json
文件 复制到镜像内即可,然后执行 yarn start
命令启动程序即可
.
├── 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 是一个 Vue 的 SSR 库,它提供了 SSR 最基础的能力,在它的基础上,你可以实现微前端、微服务的架构,如果你想深入的了解它,请查看它的官方文档
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.