3、第一天 node回顾

1、什么是nodeJS
    NodeJS一个基于chrome的V8引擎的JAVascript的运行环境,NodeJS使用了一个事件驱动以及非阻塞式的I/O式模型

    NodeJS的NPM是全球最大的包管理网站



    V8引擎:
        内核 脚本引擎   渲染引擎


    I/O: input  output



    什么是npm?
        1、包管理器
        2、是一个命令
        3、是一个网站



    npm常用的命令
        npm install
        npm install <包名> -S  生产环境中的依赖
        npm install <包名> -D  开发环境中的依赖
        npm install <包名> -g  全局安装
        npm remove <包名>  删除
        npm update <包名> 升级


    yarn包管理网站
        yarn init 
        yarn add <包名> 等价于 npm install <包名> -S  生产环境中的依赖
        yarn add <包名> -D  等价于  npm install <包名> -D  开发环境中的依赖
        yarn upgrade [package]
        yarn remove [package]
        yarn install

2、NodeJS与JavaScript有什么区别
    1、原生JS运行js文件的时候需要依赖于浏览器
    2、nodeJS运行文件的时候服务  终端
    3、原生JS的东西会有兼容性。Node中不会有兼容性
    4、本地文件读写  服务器创建   连接数据库(原生JS无法做到的)  nodeJS都可以做到
    .....

3、nodeJS能做什么?Node的优点和缺点
    文件的读写  服务器的创建   连接数据库等等....

    优点:做项目中做中间层的使用

    缺点:不适合大量的计算


4、模块化
    requrieJS     modules    seaJS    commonJS

    AMD规范       modules    CMD规范    commonJS

    AMD规范:依赖前置
    CMD规范:依赖就近

    规范:
        一个模块的导入和导出

    import   export default   export

    commonJS:    require  module.exports 

5、路由
    路由:根据用户请求的路径返回不同的页面或者数据

    前端路由:前端路由主要应用在单页面开发,前端路由用户请求的路径发生改变的时候不会经过后端的,
        主要的原理是通过onhashchange  或者是history.js进行页面的切换。前端路由主要是用来做数据渲染
    后端路由:根据用户请求的路径返回不同的页面或者数据   


    http://localhost:3000/goods/addgoods

    http://m.3songshu.com   /mobile/api/cart/getSelectNum


6、get传递的参数在node中通过query进行接收



5-1、supervisor
    cnpm install supervisor -g

面试题:
    1、传统的DOM渲染方式?
    2、什么是模块化?模块化的好处
    3、application/x-www-form-urlencode
    4、关于报文  相关文档读 3篇
    5、当输入www.baidu.com的时候按下回车会发生什么事情?



作业:
    利用路由写一个登陆注册  要求模拟真实的场景  数据存储在本地文件(文件的读写)





Node路由:
    1、要求引入一个js文件 弹出1
    2、引入一个css文件  
    3、引入10张图片
    4、引入写一个选项卡

const http = require(“http”);
const fs = require(“fs”);
let server = http.createServer((req,res)=>{
console.log(req.url);
console.log(req.method);
console.log(req.headers);
fs.readFile("./index.html",(err,data)=>{

    res.writeHead(200,{'content-type':'text/html;charset=utf8'});
    res.end(data)
})
// res.statusCode = 200;
// res.setHeader("content-type","text/plain")

// res.write('123');
// res.end('你好');

})

http.js
/*
req:request 请求
常用的属性
req.url 请求地址
req.method 请求方式
req.headers 请求头

    ajax({
        type:
        data:
        url:
        headers:{
            content-type:""
        },
        success:
    })


    常见的请求头中的类型
        1、application/json
        2、application/x-www-form-urlencode  数据序列化
            key=val&key=val
    



res:response  响应

    常用的属性
        res.write 响应 多次
        res.end 结束的响应  一次 
        res.writeHead()  设置响应头与状态码 (下面2个的综合写法)
        res.statusCode   设置状态码
        res.setHeader()  设置响应头


响应头中content-type常用的类型有哪些?
    1、文本类型   text/plain
    2、html类型   text/html
    3、css类型    text/css
    4、js类型     application/x-javascript
    5、json类型   application/json
    6、图片类型   image/png  image/jpg .....

*/

server.listen(9088)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值