Vue.js打造一个开源的CNode社区

Vue.js打造一个开源的CNode社区

Vue.js打造一个开源的CNode社区,实现了浏览、发帖、收藏、回复、点赞、我的中心等等功能。css

源代码

源代码地址:👉 github.com/microzz/vue…前端

欢迎你们star和fork😄vue

预览

在线预览地址:👉 microzz.com/vue-cnode/node

手机端VueCNode - microzz.com

PC端VueCNode - microzz.com

技术栈

  • Vue2.0:前端页面展现。
  • Vuex:Vuex,实现不一样组件间的状态共享
  • vue-router:页面路由切换
  • axios:一个基于 Promise 的 HTTP 库,向后端发起请求。
  • ExpressKoa2:由于vue-cli生成的项目是基于express的,因此在开发阶段我使用的是它,可是真正上线生产环境我换成了Koa2
  • Moment.js:一个时间处理的库,方便对时间进行格式化成须要的格式,如主题、回复时间显示" 分钟前、 小时前、*天前"等等。
  • ES6ES7:采用ES6语法,这是之后的趋势。箭头函数、Promise等等语法很好用。
  • localStorage:保存用户信息。
  • Canvas:页面顶部小雪花效果。
  • Webpack:vue-cli自带Webpack,可是须要本身改造一下,好比要对须要安装sass相关loader,vue-cli已经配置好了webpack,你只须要安装依赖就能够,使用的时候只须要<style lang="scss"></style>
  • SASS(SCSS):用SCSS作CSS预处理语言,有些地方很方便,我的很喜欢用。(详看👉SASS用法指南)
  • flex:flex弹性布局,简单适配手机、PC端。
  • CSS3:CSS3过渡动画及样式。

总结

  1. 组件状态多了用Vuex管理很方便,引用 Redux 的做者 Dan Abramov 的话说就是:webpack

    Flux 架构就像眼镜:您自会知道何时须要它。ios

  2. 事先必定要先想好整个页面组成,怎样去分组件开发,这样在开发阶段会事半功倍。git

  3. Moment.js在Vue中用ES6的方式引入会有问题,能够尝试在main.js尝试这样import moment from 'moment' Vue.prototype.moment = moment;给Vue的原型上添加moment,这样就能够在Vue的实例中随意使用它了。
  4. 项目结构以下图

Vue-CNode by microzz.com

时间轨迹

  • 4.13:基本功能完成,后续完成登陆后的操做。github

  • 4.14:完成登陆以及侧边栏。web

  • 4.15:增长收藏vue-router

  • 4.16:加入回复、单条回复、点赞。项目完成。

About

源代码地址:👉 GitHub

我的网站:👉 microzz.com

GitHub:👉 microzz

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report复制代码
相关文章
相关标签/搜索