一个 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.[设置]→[开发者 ...
随机推荐
- ubuntu更换pip install,apt-get,conda install 成国内源
解决ubuntu的pip和apt-get太慢的问题 ubuntu国外龟速的源实在难受,还是自己动手更改一下各种pip 源和apt-get 的源吧,换了之后速度令人舒适! 更换pip源成清华源 临时使用 ...
- linux上部署JMeter
export JAVA_HOME=/opt/jdk1.8.0_171 export PATH=$PATH:$JAVA_HOME/bin 让环境变量生效 vi /etc/profile 添加下述两行: ...
- js中的传值和传引用,判断两个数组是否相等
所谓js的中的传值,其实也就是说5种基本数据类型(null,undefind,boolean,number,string) 传引用也就是说的那个引用数据类型,(array和objec) 基本数据类型的 ...
- tarjin求割点
题目: hdu3671 http://acm.hdu.edu.cn/showproblem.php?pid=3671 题意:给一个无向图,要求毁掉两个点,使图变得不连通,图一开始是连通的 因为要毁掉两 ...
- 使用loadrunner录制手机脚本
1.安装loadrunner补丁包4: 2.安装了loadrunner的PC端上面创建WiFi热点,将手机接入该WiFi: 3.然后打开loadrunner,选择录制协议为手机的协议: 4.弹窗中选择 ...
- idea中自动生成实体类
找到生成实体的路径,找到Database数据表 找到指定的路径即可自动生成entity实体 在创建好的实体类内如此修改 之后的步骤都在脑子里 写给自己看的东西 哪里不会就记录哪里 test类(以前都 ...
- 【redis】在windos下的redis服务器的搭建
1.下载Redis-x64-3.2.100(楼主用的版本,需要安装包的可以找我要) 下载官方版本 2.解压后在cmd下运行 redis-server redis.windos.conf 此时redis ...
- webpack问题列表及解决方案
1.提升webpack打包速度 2.cssloader顺序有先后 3.如何正确引用图片 4.打包后访问不到json文件 5.打包后如何访问项目 6.打包后的文件 7.为什么执行webpack,就可以打 ...
- 一小时学会ECMAScript6新特性(二)
1.对象属性名 es5中我们为一个对象添加属性可以用如下代码: let foods = {}; foods.dessert = '蛋糕'; console.log(foods) 但是属性名中间有空格则 ...
- Centos6下使用yum安装MariaDB
1)增加mariaDB的yum源 1 2 3 4 5 6 7 8 9 [root@centos6-test08 ~]# cd /etc/yum.repos.d/ [root@centos6-test0 ...
