node express 搭建在线留言墙

Express-Stickynotes

node express 搭建在线留言墙

使用方法

git bash # 克隆仓库 git clone # cd 到仓库目录后安装依赖 npm i # 启动本地服务器,打开 http://localhost:3000 npm start # 当然你也可以指定端口( 比如开一个2233娘端口 ) PORT=2233 node ./bin/www 文件结构

├── app.js ├── bin // 一些可执行文件 │ └── www ├── database // 数据存储 │ └── database.sqlite ├── model //sequelize写数据库 │ └── note.js ├── public // 静态资源 源代码 │ ├── imgs │ ├── js │ └── index.js 编译后的js文件 │ ├── fonts │ ├── css │ └── style.css ├── src // 静态资源的源文件 │ ├── webpack.config.js // webpack配置 │ ├── imgs │ ├── js │ ├── app // 不同页面的入口 │ └── index.js │ ├── lib │ └── jquery.min.js │ └── mod // 模块组件 │ ├── toast.js // 提醒组件 │ ├── note.js │ ├── note-manager.js │ ├── waterfall.js │ └── event.js │ ├── less │ ├── index.less │ ├── note.less │ └── toast.less ├── routes // 路由 │ ├── index.js │ ├── api.js │ └── api.js └── views // 模板引擎 │ ├── error.ejs │ └── index.ejs ├── package.json ├── package.lock.json ├── .gitignore 目前完成功能如下: 完成 Toast 模块,发送消息提示 完成 Note 模块,增删改 完成 Waterfall 模块,瀑布流布局 定义路由 api.js 增删改查,mock 数据 完成 EventCenter,订阅发布模式 完成 Note-manger 模块,控制 Note 事件 完成 note.js 模块,使用 sequelize + sqlite3 存储数据 完成路由 api.js, mock 数据改成真实数据 完成路由 auth.js,调用 github-passport 完成中间件 app.js,设置 session 完成 index.ejs 模板,切换登录展示 修正路由 api.jssession 判断用户增删改权限 + 错误信息反馈 修正路由 index.js,session 判断登录状态 修复若干 BUG 功能完善中 ...( 凑数 (*^▽^*)) 用到的技术栈

前端:

webpack 前端模块打包,实现了代码的模块化 Less 样式预处理器来写css npm scrpt 包管理 启动执行更加方便 模块化发开 JS 组件封装 pub / sub 设计模式 前后端联调

后端:

express ( based on Node.js ) 路由 中间件 模型 MVC 分离 sequelize + sqlite3 数据库 ejs 模板引擎 了解了cookie session的区别 passport + github-passport pm2 linux 前后端路由约定

/* * 路由设置 和后台约定接口 1. 获取所有的notes : /api/notes GET 数据req:{} 响应:res:{status:0,data:[{},{}]} {status:1,errorMsg:'失败的'原因} 2. 创建一个note: POST /api/notes/add 数据req{note: 'Hello'} 响应res :{status:0} 3. 修改一个note: POST /api/notes/edit 数据req{note: "new note", id:"100} 4. 删除一个note: POST /api/notes/delete 数据 req{id:100} * * */ 遇到的问题 在学习expres中对路由和中间件理解总是比较不太懂,多看多尝试 组件的书写不是很流畅 数据库看文档 其他 bug 提交或其他问题,移步 issue Author: AlbertLee 协议 MIT

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。