Skip to content

liuhao0826/node.js-express-mongdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

课程安排:
    第1个下午:搭建环境  express
    第2个下午:写后端代码
    第3个下午:前后端代码整合

目标:学生管理CMS 
    添加学生
    删除学生
    修改学生
    查询学生

感受一下后端是怎么是写的。
---------------------------------

前后端:
    前端: 
        有界面的一端:网页  Android  iOS  小程序  游戏
            web前端    web就是网页  
            html5前端   网页  app  小程序 .... 
            Android  out 
            iOS  out
            游戏  难
    后端:
        给前端提供数据的,需要数据库的配合。
            java     
            php    out  
            python     out  
                后端(没有明显优势)   
                运维(工资低)  
                爬虫(python的一个亮点)  
                人工智能(本科搞不了)
            c++   非常难 工资非常高   指针 
            go    非常火   公司中都是java php转到go
            .net  out 
            node  后端  通过js代码写代码 
            .... 
---------------------------------
js现在非常厉害:
    1)html5前端   核心就是js 
    2)app  js写的代码打包成android 和 ios 
    3)开发小程序  
    4)开发游戏  网页游戏  小程序里面的游戏 
    5)写后端  node  把js代码跑在node环境  就提供web服务
    ...
---------------------------------

数据库:
    mysql  入门难一点 
    oracle  大型公司才用  
    mongodb  简单  js    选这个

---------------------------------
我们是写后端:
    技术选型:node+express+mongodb+ejs

---------------------------------
node:
    就是JS的运行环境,我们的JS代码可以跑在node里面。

之前的JS的代码是运行在浏览器中的。浏览器是JS的运行环境,NODE也是。

怎么安装这个node环境:
    1)下载node安装包
    2)傻瓜式安装  

证明安装是否OK:
    1)win + r  输入cmd   打开一个cmd窗口
    2)输入node -v  如果弹出一个版本号  表示node安装成功了

安装完node,电脑上自带了一个工具,叫npm。

---------------------------------
安装mongodb数据:
    1)下载地址:https://www.mongodb.com/download-center/community

    大家按笔记安装就OK了

---------------------------------
客户端与服务器交互模型:  http 
    客户端:就是给服务器要数据的
        1)浏览器可以充当客户端
        2)手机上的app
        3)写的代码 
        ... 
    服务器:服务器就是给客户端提供数据  
        web服务器  提供网页服务器
        数据服务器 一台电脑上安装了mongodb 这个电脑就可以充当数据库服务器
        ...
上网的本质:就是数据在客户端和服务器之间进行流动。

---------------------------------
get/post:
    客户端是请求服务器的,最常用的请求方式有get和post。

    get更倾向于给服务器要数据。
    post更倾向于把数据扔给服务器。

---------------------------------
本地服务器都有一个特殊的IP地址:127.0.0.1  
这个特殊的IP地址对应的一个特殊的域名:localhost

---------------------------------
express:
    由于时间的关系,直接上框架,不讲Node基础。

    不习express就是手代码创建一个服务器,提供web服务。

使用express写项目的步骤:
    1) npm init -y    初始化一个配置文件
          初始结果:会在项目下创建一个package.json 
    2) 安装express模块 
          npm i express   需要网络比较好  此时就把这框架安装到项目中了
    3) 开始写代码
         在项目的根目录下面,创建app.js文件 
            let express = require("express")
            let app = express(); // 创建一台服务器

            // 处理客户端的请求 /  
            app.get("/",(req,res)=>{
                // res.send表示响应内容
                res.send("<h1>Hello 客户端~</h1>")
            })

            // 监听一个端口
            app.listen(3000,()=>{
                console.log("服务器启动了~")
            })

    4)运行代码  进入到项目中  通过node app.js 
         这样运行,每一次修改代码都需要重启服务器

         可以安装全局安装一个模块,叫nodemon
         npm i nodemon -g 

         再运行代码时,通过nodemon app.js  好处:修改代码不需要重启

---------------------------------
换源:
    通过npm i express 默认是去国外下载的  速度非常慢  需要把下载源换成国内

换源步骤:
    1)全局安装nrm模块   npm i nrm -g 
    2)通过nrm ls  查看都有哪些源
    3)换源  nrm use taobao  换成国内源   速度快一点 

    换源之后,再去安装,速度就快一点~

---------------------------------
工具有很多:npm  cnpm  yarn  无所谓

---------------------------------
遇到的问题:
    1)网络不给力  npm i nrm -g     ctrl+cc   重新来一次
    2)编码问题   保证你的编辑器使用的编码是utf-8   大陆程序员使用的编码基本上都是utf-8

---------------------------------
什么是静态资源:
    html  css  js  img 都是静态资源

使用express托管静态资源:
    app.use(express.static("public"))  需要把静态资源放到public下面

---------------------------------
MVC:
    M Model 是和数据打交道
    V View  视图  html文件(充当静态资源,也可以充当视图)
    C Controller 控制器  


---------------------------------
分层:
    不要把所有的代码都写在app.js中。 


---------------------------------
什么是模拟引擎:
    就是在html中放js代码,输入真实的数据



















Models:是和数据库打交道

mongodb:
    是提供数据库服务的,如果一个电脑装了mongodb,就可以提供数据为服务了。

使用步骤:
    1)安装  按笔记 
    2)开启mongodb服务   进入bin目录  mongod --dbpath=D:/mongo/data
    3)使用客户端连接数据库服务器

--------------------------------------
什么可以充当客户端:
    1)cmd窗口  
    2)可视化工具  
    3)代码

--------------------------------------
使用可视化工具充当客户端:
    已OK   记住 一定要开启数据库服务器

--------------------------------------
mongodb数据库中的几个概念:
    1)数据库   一个项目可以有一个数据库   也可以有多个数据库  students
    2)集合 成绩集合  基本信息集合  ...   一个数据库中可以包含多个集合
    2)文档   一个集合中可以包含N个文档  一个文档就是一个个的数据

    如:students  
            info
                {name:"wangcai",age:10},
                {name:"xiaoqiang",age:11},
                {name:"yuanhua",age:12},
            score
            ...
--------------------------------------



















About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published