Skip to content

利用Node.js 结合Express ,mongodb 实现一个web管理系统

Notifications You must be signed in to change notification settings

ivanyb/nodejs_express_mongodb_webApp

Repository files navigation

#NodeJS 项目 ##用到的模块有:

- 1、express 用来实现项目的web服务,路由功能,静态模块 地址: https://github.com/expressjs/express
        它的很多常用的中间件可以在这个网址找到:http://www.expressjs.com.cn/resources/middleware.html

- 3、monggose :一个提供了MongoDB地相映射的Node.js库:http://mongoosejs.com/docs/guide.html
- 4、bootstrap :前端框架,布局使用   https://getbootstrap.com/
- 5、body-parse:一个解析请求报文体数据的Node.js库  https://github.com/expressjs/body-parser
- 6、formidable:我们用它来实现上传文件功能   https://github.com/felixge/node-formidable
- 7、express-session:用来做用户的状态管理(登录了可以访问页面,没有登录不能访问页面)
                        地址: https://github.com/expressjs/session

- 8、cross-env : 安装为全局,用于适配跨平台设置环境变量 
                    https://www.npmjs.com/package/cross-env

数据存储

##用到的开发中的工具模块:

- 1、gulp           项目自动化构建工具,要安装成全局的
                      http://www.gulpjs.com.cn/docs/api/ 
                      https://github.com/gulpjs/gulp

- 2、gulp-uglify    gulp压缩js插件(只能识别es5代码,使用之前请先将es6代码转换成es5)     
                    在项目中利用它实现src下面的所有js文件的压缩 

                    https://www.npmjs.com/package/gulp-uglify


- 3、gulp-babel     ES6 代码转化       https://www.npmjs.com/package/gulp-babel
  
- 4、gulp-concat(此项目中去掉了)   合并js文件到一个新文件中   https://www.npmjs.com/package/gulp-concat

- 5、gulp-copy      文件拷贝    https://github.com/klaascuvelier/gulp-copy
                   在项目中利用它实现将src下的views中所有文件拷贝到dist的views同名目录下
                    
                    注意:在项目中使用.pipe(gulpCopy('./dist', {prefix:1})) 的时候要加上
                    {prefix:1} 表示忽略原路径中path的第一个路径名称

##常用的gulp插件参考 gulp-imagemin: 压缩图片 gulp-ruby-sass: 支持sass,安装此版本需要安装ruby gulp-minify-css: 压缩css gulp-jshint: 检查js gulp-uglify: 压缩js gulp-concat: 合并文件 gulp-rename: 重命名文件 gulp-htmlmin: 压缩html gulp-clean: 清空文件夹 gulp-livereload: 服务器控制客户端同步刷新(需配合chrome插件LiveReload及tiny-lr)

##1.0 路由定义 路由分为两类:

  • 1、加/admin前缀,负责管理后台数据

    • get /admin/videoInfo 视频信息和介绍

    • post /admin/videoInfo/add 新增视频信息

    • get /admin/videoInfo/edit/:id 编辑视频信息

    • post /admin/videoInfo/edit 获取post请求报文体中的数据更新到db中

    • get /admin/videoInfo/delete/:id 删除视频信息

    • post /admin/videoFile 视频文件上传

  • 2、不加/admin前缀的为前台页面

    • get /showvideo/:vinfoid 展示视频下的单独视频进行播放
  • 3、登录模块

    • get /account/login 打开登录页面
    • post /account/login 处理登录请求

##2.0 mongodb数据库设计 数据库名称:itcast

视频信息表 表名称:videoinfo

表结构:

{
    name:"基础班12天",
    scope:"基础班阶段",
    keyword:"html css js",
    src:'/uploaded/day01-01.mp4'
    notedata:'第一天的笔记'
}

About

利用Node.js 结合Express ,mongodb 实现一个web管理系统

Resources

Stars

Watchers

Forks

Packages

No packages published