美文网首页
NodeJs 入门

NodeJs 入门

作者: 羊驼驼驼驼 | 来源:发表于2018-03-04 19:37 被阅读0次
    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'));

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

    相关文章

      网友评论

          本文标题:NodeJs 入门

          本文链接:https://www.haomeiwen.com/subject/utlqfftx.html