一个 Vue & Node 的全栈小项目
约学 - 可以寻找一起自习的小伙伴的Web APP
一个基于 Vue & Node 的移动端全栈小项目
在线演示(请使用移动端查看效果)
源码地址: https://github.com/G-lory/yuexue
(感觉要被玩坏了…我知道有很多bug…发现bug可以告诉我……谢谢dalao们……)
部分页面截图(不许吐槽我首页的背景图片!
技术栈
前端:Vue2 vue-router Webpack axios sass MintUI Iconfont 后端:NodeJS(v8.11.1) Koa2 Sqlite node-cache log4js
启动项目
我将前后端项目到同一个github repo了
# 克隆项目
git clone https://github.com/G-lory/yuexue.git # 启动后端项目
# 到后端项目
cd yuexue-server
# 安装依赖
可以通过 npm install --registry=https://registry.npm.taobao.org 重新指定 registry 来解决 npm 安装速度慢的问题
npm install
# 运行后端项目 打开浏览器访问 http://localhost:3001
npm run start # 启动前端项目
# 到前端目录
cd yuexue-frontend
# 安装依赖
npm install
# 热加载启动 打开浏览器访问 http://localhost:8080 (保证后端项目已启动
npm run dev
# 生产环境压缩打包
npm run build
实现功能
- 邮箱注册
- 邮箱密码登录
- 查看个人信息
- 修改个人信息
- 上传头像
- 退出登录
- 密码找回
- 首页信息展示
- 未读消息提示
- 发布邀约
- 删除已发布邀约
- 查看邀约
- 根据城市信息和关键字搜索邀约
- 接受邀约
- 密码加密存储
- 打印日志且保存到文件
未实现 & bug
- 邀约列表页在某些浏览器中 列表不能完全加载
- 后端代码未加单元测试
项目结构
前端
后端
其他
写项目之前是不会 nodejs 的,因为有Java基础,所以目录结构在参考他人的基础上,就着Java的MVC结构写的。
单元测试实在不会(想)写了。
开始数据库使用的是Mysql,但是由于我的服务器内存太小了装不上,改成了sqlite…(全部写完又修改的……QAQ)
同样的是问题是保存验证码之前还想着用一下redis(可以假装很厉害)后来使用了node-cache
遇到了很多很多问题,包括但不限于
- 移动端滑动穿透的问题
- 仿移动端页面切换效果,这两个问题可见(https://www.cnblogs.com/wenruo/p/9948348.html)
- sqlite 数据库操作问题 (后来发现是引用文件时要使用绝对路径)
- 某些设备 #加8位十六进制数字表示透明色不生效 改成 rgba 修复
- 开始使用HTML自带表单,通过 Ajax 提交,提交表单会导致刷新页面,使的用 iframe 修复,后面全部删除了表单
- 列表无限加载有些时候不生效(未修复,因为好像大部分都没问题
- 跨域问题,包括 cookie 跨域问题
没人可问的情况下查了很多资料,边查边尝试。有些生效了。有些是在没办法,就只能回避问题。最终实现的效果不算太好,不过至少把最初想的写完了(我想的就是一个很简陋的样子……
总结
还是要动手写一写代码,不然你根本不知道你有多菜……
参考资料(虽然很多不记得了……
一个 Vue & Node 的全栈小项目的更多相关文章
- 一个 "开箱即用" 个人博客全栈系统项目!vue+node+express+mysql+sequlize+uniapp
" MG'Blog " 一个 "开箱即用" 个人博客全栈系统项目! 探索本项目的源码 » 前台预览 · 管理端预览 v1.0.2 小程序预览 v1.0.2 介绍 ...
- Vue+koa2开发一款全栈小程序(1.课程介绍+2.ES6入门)
1.课程介绍 1.课程概述 1.做什么? Vue+koa2开发一款全栈小程序 2.哪些功能? 个人中心.图书列表.图书详情.图书评论.个人评论列表 3.技术栈 小程序.Vue.js.koa2.koa- ...
- 微信小程序云开发-从0打造云音乐全栈小程序
第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...
- 实习模块vue+java小型全栈开发(三)
实习模块vue+java小型全栈开发(三) --dx 背景 首先,先给自己一个答案:这篇博客我定义为(三),因为之前的两个模块页面,内容都是一样的,但是被改了几次需求,就一直拖着没有上传. 今天是真正 ...
- koa+mysql+vue+socket.io全栈开发之数据访问篇
后端搭起大体的框架后,接着涉及到的就是如何将数据持久化的问题,也就是对数据库进行 CURD 操作. 关于数据库方案, mongodb 和 mysql 都使用过,但我选用的是 mysql,原因: 目前为 ...
- Vue+koa2开发一款全栈小程序(3.vue入门、Mpvue入门)
1.Vue-cli 1.新建一个vue项目 打开cmd 官方命令行工具 npm install -g vue-cli //安装脚手架 cd到你想要存放demo的目录下,然后 vue init webp ...
- 【Spring Cloud & Alibaba全栈开源项目实战】:SpringBoot整合ELK实现分布式登录日志收集和统计
一. 前言 其实早前就想计划出这篇文章,但是最近主要精力在完善微服务.系统权限设计.微信小程序和管理前端的功能,不过好在有群里小伙伴的一起帮忙反馈问题,基础版的功能已经差不多,也在此谢过,希望今后大家 ...
- Node.js 全栈开发(一)——Web 开发技术演化
这些年一直不断接触学习 Node 技术栈,个人的技术开发学习兴趣也越来越倾向 node 流.也许是由于英语的关系,也许是因为墙增加了学习国外一手资料的难度,加上现在流行的 web 开发技术并不太容易上 ...
- Vue+koa2开发一款全栈小程序(5.服务端环境搭建和项目初始化)
1.微信公众平台小程序关联腾讯云 腾讯云的开发环境是给免费的一个后台,但是只能够用于开发,如果用于生产是需要花钱的,我们先用开发环境吧 1.用小程序开发邮箱账号登录微信公众平台 2.[设置]→[开发者 ...
随机推荐
- pip包导出
用pip对已有的环境做导出准备 1. 使用pip导出当前环境所有依赖包信息文件 pip freeze > requirements.txt 2. 下载所有依赖包到本地 pip install - ...
- Motrix for Mac(百度网盘加速/全能下载软件) v1.3.7最新版!
Motrix for Mac最新版第一时间在本站上线!Mac上最强大实用百度网盘加速器Motrix for Mac分享给您!Motrix for Mac是一款非常优秀的下载工具,采用Aria 2作为核 ...
- 学习使人快乐8--Maven
一.maven基操: MAVEN依赖之 坐标: 二.MAVEN依赖 type:依赖的类型,比如是jar包还是war包等 默认为jar,表示依赖的jar包 optional:标记依赖是否可选.默认值fa ...
- CentOS 7.0开放指定端口
>>> CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 1.直接关闭防火墙 systemctl stop firewalld.ser ...
- 在VUE-CLI 3下的第一个Element-ui项目(菜鸟专用)
vue-cli3.0使用及配置 (https://www.cnblogs.com/xzqyun/p/10779891.html ) 以上是 vue-cli3.0使用及配置 这里我们来引用基于v ...
- Object冷知识
Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__ 语法:Object.create(proto, [propertiesObject]) prop ...
- MFC学习RepositionBars
学习过程中用到了就找了下资料 https://blog.csdn.net/u012372584/article/details/50718968
- itunes 备份导致C盘空间不足问题解决办法
首先,itunes备份的默认路径是 C:\users\你的用户名\Appdata\Roaming\Apple computer 备份的主要存放文件在C:\Users\David_lu\AppData\ ...
- win10系统盘分多大合适?
WIN10系统盘分多大合适,想必许多网友在装系统的时候都犹豫不觉吧,不过现在的硬盘基本上都是512G 1T的机械硬盘,固态硬盘基本都是128G以上,256G几乎成为标配,所以WIN10系统盘空间还是足 ...
- 两种方法上传本地文件到github(转)
自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的原因是我习惯本地编辑,完成以后再一起上传github.看过了几个教程,总结出最 ...
