NodeJs 入门

node

一、在学习node之前,我们先来了解一下后台的语言,我们都知道后台语言包括PHP,JAVA,.NET,我们来一个一个看一下

PHP:现在最常见的后台语言,大概占70%,他的优点是小巧,方便,适合中小企业系统,门户网站。

JAVA:约占30%,属于比较庞大,功能和架构复杂,安全性高,主要用于大型系统的开发,比如银行类系统,淘宝,京东.....

.NET:用户数基本等于微软的员工数,咱们在这里就不详细介绍了。

二、了解完这些后台语言之后,我们来介绍一下NodeJS,

NodeJs:后台语言,用js编写,基于chrome内核。

三、那我们为什么要学习NodeJS呢?

我小小的总结了一下,分别与下面三点:

1.对于前端来说,为以后的全栈开发打好基础;

2.可以更详细的了解交互过程中相关的前台、后台一个完整的流程;

3.至少可以多赚几千块钱(比较实在哈)。

最后一个是不是很诱人,哈哈

四、那我们再来看一下NodeJs的优势:

1.开发效率高;

2.学习成本低,百分之八十都是Node的东西;

3.与JS无缝对接。

五、那NodeJs的缺陷是什么呢?

1.语言比较年轻,成熟的框架比较少;

2.对程序猿的要求高。

六、NodeJs的环境:

命令窗口、终端:win:开始-运行(win+R)-cmd-回车

七、官网:https://nodejs.org/en/  安装Node

八、nodejs程序,是后台程序,和网页,和浏览器没有直接关系。

九、第一个node程序:

    1)显示一个变量的值

            let  a=12;

            console.log(a);

    运行一个nodejs程序:

    1)打开命令窗口;

    2)切换到程序的文件夹  d:\node

                终端命令------

                    windows:dos命令

                    mac:linux命令

               切换盘符:

                从c盘切换到d盘 : d:------回车

               切换文件夹(目录):cd

                比如要切换到  node文件夹下 ---d:\node

                D:\ > cd node  ----回车   d:\node>

                cd .. 上一级

                cd \ 返回根目录

                显示当前位置的内容:dir

                清屏:cls

                快捷方式,(偷懒的办法):

                    1)<Tab>  自动完成

                    2)windows窗口,shift+右键  -----》在此处打开命令窗口

3)node 1.js

                      利用node命令,把1.js这个程序运行起来

十、用node写接口

   首先我们必须要解决的问题:

    1、必须是可以被访问到的;

    2、接口必须有数据返回;

    3、要从数据库中取数据,返回

第一个问题:

    服务器的问题:

            以前:WAMP-Apache  ---服务器环境

            现在:用Node自己实现    

                        1)完全自己写

                        2)使用现有的框架

    步骤:

    1、安装模块:expr

ess

npm----bower----cnpm

npm:node自带的包管理工具,服务器在国外,所以我们通常使用cnpm

cnpm:https://npm.taobao.org/

安装:npm install -g cnpm --registry=https://registry.npm.taobao.org

安装express:d:\node> cnpm install express

其他方式:cnpm install express --save

            --save:会产生package.json文件—— 项目的配置文件,记录了所依赖的模块的信息,如果有了配置文件package.json,在新位置安装的时候: cnpm i

十一、写一个服务器:

        1.引入模块  express

            const express = require('express');

    2.启动express

            let server=express();

            server:运行express,得到的服务器对象

            --此时来运行程序,执行完就完事了,服务器并没有一直在等待,而我们需要的是服务器一直在等待状态,等待用户的访问

3.监听端口

            端口:和门牌号一样。

                       范围:1-65535

            server.listen(666);

4.处理用户请求:

            用户请求:get    post

            node中处理请求:

                server.get----处理get请求

                server.post----处理post请求

                server.use ----不区分get,post,都可以处理   use-----除了处理请求,还有其他的功能

            get:

            server.get('请求的路径',回调函数:参数1---request,---请求  参数2---response---响应);

               server.get('/',(req,res)=>{

                    res.send('aaaaa');//给用户发送数据

                    res.end();//结束此次请求

             })

十二、实现一个真实的接口:获取用户信息

        访问地址:/getUsers

        返回值:

                成功:

                   {err:0,data:[

                        {username:'aaaa',password :'1234'},{}

                    ]}

            失败:

                    {err:1,msg:'网断了,取不到数据'}

十三、现在实现的服务器,可以返回接口形式的数据,但是不能提供对 .html 等文件的访问。

——不能访问静态文件

解决:

借助于一个新的模块,express模块本身不能提供对静态文件的访问。

新模块:

express-static

另外一种叫法: 中间件

1)下载安装

cnpm i express-static --save

2)引入

const static = require('express-static');

3)使用

server.use(static('可以访问的静态文件的文件夹'));

server.use(static('www'));

十四、数据库

1)常见的数据库: mysql oracle sqlserver

mysql:小巧,免费,应用于中小级系统

oracle:庞大,收费,应用于大型系统,功能全,安全性高

sqlserver:大中型

下面我们主要来说一下mysql:

客户端工具:phpMyAdmin

数据库相关概念:库-> 表-> 结构-> 数据

2)数据库和excel非常像:

excel                      数据库

工作簿                            库(数据库)

工作表                            表

列:标题                         字段

行:一条数据                   行

3)

    1、连接到数据库服务器。

        信息项:

        连接名:  随便起个名

        主机或IP:localhost  --表示要连接到哪台机器

        端口:3306

        用户名:  root --登录这台数据库服务器的用户名

        密码: 空

    2、创建数据库

         1)双击数据库连接

            --显示出已经有的数据库

        2)右击数据库连接——新建数据库

                  起名字:ttx

                字符集:utf8

                排序规则:utf8_general_ci

        3)双击打开数据库

3、修改表结构

            表名上右键 —— 设计表

4、用程序操作数据库

        数据库的操作:增 删 改 查

        语句:数据库有自己的语句,有自己的语言—— SQL

           增:

                insert into  表名(字段名1,字段名2)  values(值1,值2);

                insert into 表名  values(值1,值2);

            删:

                delete from 表名

                delete from 表名  where 条件

                delete form userinfo where id=10;

            改:

                update 表名 set 字段名=值 where 字段名= 值

            查:

                select 字段1,字段2..  from 表名

                select * from 表名

                select * from 表名  where 条件

十五、在NodeJs中操作数据库,编写真实的接口。

1、需要一个新的模块的支持 mysql

      cnpm i mysql

2、创建数据库连接

     let db = mysql.createConnection({

            host:'localhost', //主机,哪台机器

            user:'root', //用户名

            password:'', //密码

             database:'ttx'  //数据库,要连接的数据名

        });

3、执行SQL语句

        db.query('SQL语句',(错误信息,数据)=>{

        });

        ------

        例:

        db.query('select * from users',(err,data)=>{

                //使用data,data就是查询数据库得到的数据

          });

十六、在接口中,取出传入的数据:request.query

        server.get(url,(req,res)=>{

                req.query  //get方式下取得用户提交的数据

        });

十七、POST请求以及接口处理:

            在Node中,处理post请求,需要引入一个模块: body-parser

            post请求: 请求头(header) 请求实体(body) 请求尾

            body-parser 模块,使用时,需要 server.use(body.urlencoded());// 开启中间件 , 以前 server.use(static('www'));

今天暂时就写到这里了,有问题可以在下面留言评论,欢迎大家广泛提建议。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容