zoukankan      html  css  js  c++  java
  • node.js

    nodeJs什么?
    NodeJS 其实就是一个js的运行环境 属于后端的语言 JS在服务器上运行。

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
    nodeJs使用了一个事件驱动 以及非阻塞的I/O式模式 使其轻量又高效
    node中的npm包是全球最大的包(垃圾)网站 (只要你安装了node 那么npm就会自动安装上)

    以前的JS运行环境
    浏览器 脚本引擎


    V8引擎
    浏览引擎 2部分
    1、脚本引擎 渲染脚本 JS V8引擎
    2、渲染引擎 渲染页面

    nodeJs与普通的JS有什么区别?
    node不需要浏览运行 nodeJS可以调用底层的API 例如文件的读写 服务器的创建 ....
    nodeJS中没有DOM和BOM的概念

    普通的JS只能靠浏览器运行 不能够进行文件的读写


    nodeJS的好处是什么?
    优点:高效 速度快 适合做高并发的项目 通常是指,通过设计保证系统能够同时并处理很多请求。通常来说,当多个用户去连接同一台服务器的时候,用户进入服务器的人数是固定的,而node就是处理客户端连接服务端人数固定的问题。

    缺点:不适用于做大量计算的项目

    工作当中:中间层的应用,客户端和服务器之间搭建的桥梁。


    node版本:
    LTS 稳定版本
    CURRENT 测试版本


    node的基本使用
    window+r

    查看node是否安装成功: node -v

    node也可以做基本运算操作:
    1、node 回车 然后写代码。
    2、退出 ctrl+d 或者 ctrl+c 2次
    3、cls清屏

    npm是什么东西?
    1、npm 是一个网站
    2、npm 是一个包管理工具
    包管理器:对所有node的包进行安装 删除 更新 卸载 等等操作
    3、npm 是一条命令

    目前所学到的模块化方法有哪些?
    1、 模块化的规范
    2、 如何定义模块 如果导出模块

    AMD 依赖前置 CMD 依赖就近
    requireJS seaJs es6 Module commonJS
    前端 前端 前端 后端 node
    导出 : define export module.exports
    export default require
    导入: require import

    3、 模块化的好处?
    1、高内聚 低耦合
    2、解决命名冲突的问题
    3、代码的复用
    4、便于维护

    4、 node中的模块会分为哪几种?
    1、核心模块 核心模块直接书写依赖的名称即可
    2、自定义模块 需要通过module.exports 导出 require进行导入 导入的时候必须写路径
    moduleA:
    module.exports = {
    a,
    b,
    fn
    }
    moduleB:
    const model = require("./moduleB");
    const http = require("http");

    console.log(model.a)
    console.log(model.b)
    console.log(model.fn)

    3、第三方模块 需要通过cnpm install 下载 然后在通过require进行引入

    node创建服务器
    //导入核心模块
    const http = require("http");
    //创建服务器
    http.createServer((req,res)=>{
    /*
    req:request 请求
    res:response 响应

    ajax({
    type:"",
    url:"",
    data:{},
    header:{
    content-type:"application/x-www-form-urlencoded";
    }
    })


    http https 报文
    req 方法
    req.headers
    req.url 请求的路经
    req.method 请求的方式 get post


    res 方法
    res.statusCode() 设置状态码
    res.write() 响应 write:write 可以多次响应(打电话的过程) 返回字符串
    res.end() 最后的响应 end: write+end 只能结束时一次响应(打电话结束时) 返回字符串




    res.setHeader() 设置响应内容的格式
    第一个值是 content-type
    第二个值是内容格式
    res.writeHead() 设置响应的状态码 以及响应内容的格式 其实这个方法是 statusCode 与 setHeader的综合写法
    参数1:状态码
    参数2:对象
    "key":"val"
    "Content-Typ" : "响应内容的格式"

    */
    // res.statusCode = 200;
    // res.setHeader("Content-type","text/plain;charset=utf8");

    console.log(req.url);
    console.log(req.method);
    res.writeHead(300,{"Content-type":"text/html;charset=utf8"});
    res.write("123");
    res.end("你好");

    }).listen(9000);
    console.log("http://localhost:9000");

    响应内容的格式
    text/plain 文本
    text/html html文件
    text/css css文件
    application/x-javascript js文件
    application/json json文件
    application/json和application/x-www-form-urlencoded都是表单数据发送时的编码类型。

    node如何运行文件
    node 文件名称


    1、安装node

    2、看http https 报文

    3、node的http模块 书写一个服务器

  • 相关阅读:
    Win32汇编对话框资源的综合应用
    linux下svn服务器搭建以及相关问题解决方案
    a+++b 在编译基础上的讨论
    BHO API HOOK Wininet基于IE编程的一些资料
    二维数组和二级指针
    深信服电话面试
    C和C++中的void*
    MySQL学习笔记:调用存储过程或函数报1418错误
    MySQL学习笔记:limit
    MySQL学习笔记:时间差
  • 原文地址:https://www.cnblogs.com/newskill/p/10301784.html
Copyright © 2011-2022 走看看