week1 Day1 Node.js 复习

本文深入探讨Node.js环境下的编程技巧,包括VSCode终端切换、Node.js与浏览器的异同、模块化标准(CMD、AMD、Common.js、ES6)、自定义模块发布流程、内置与第三方模块使用、异步队列机制、以及跨域问题解析,为开发者提供全面的Node.js开发指南。

week1 Day1

Node.js 复习

1. vs code 里面如何切换自定义终端?

2. 浏览器 vs node

异:

  1. node里面没有 BOM DOM
  2. node多了很多自带的api
    同:
  3. 都是chrome v8
  4. 都支持js
  5. 都支持 ECMA Script

3. 需求: sum这个方法, 我想三个参数 , 计算三个参数值?

  1. Node.js 命令行有时候用起来不方便
  2. 解决: 我们使用文件 .js

Node.js命令行退出

  1. two times ctrl+c

Node.js文件运行

node 文件名称(后缀可以不要)
键盘上下键可以前进和回退命令

自动监听(自动更新, 自动刷新)Node.js文件的更新和变化( 工具 nodemon supervisor)

使用淘宝镜像

  1. 工具安装
    cnpm i nodemon -g (i==> install g ==> global) 推荐
    cnpm i supervisor -g
  2. 使用:
    nodemon 文件名称
    supervisor 文件名称
  3. 注意事项:
    问题: supervisor 会出现死循环 ?
    分析: 内容一致在改变
    解决: vs code 开了自动保存

nvm 使用

  1. 安装:
    nvm install vsersion
    举例: nvm install v10.8.0 || nvm install 10.8.0 || nvm install latest(最新版本)
  2. 切换Node.js版本
    nvm use vsersion
    举例: nvm install v10.8.0
  3. 查看当前电脑中 Node.js的所有版本
    nvm list

前端模块化(面试题)

  1. CMD ( sea.js )
  2. AMD ( require.js )
  3. Common.js
  4. es6模块化
    CMD 和 AMD
    define 定义模块
    Node.js中使用了Common.js规范(三类)
  5. 内置的
  6. 第三方的
  7. 自定义的

前端的环境

  1. 开发环境
  2. 生产环境
  3. 测试环境
  4. 预发布环境
  5. 上线环境

问题: Node.js中请求数据, 需要跨域吗?

不需要跨域的
同源策略

  1. 为什么会出现跨域
    开发中会有不同的域名和端口等出现?我们需要去获取他们的内容
  2. 浏览器如何组织跨域
    浏览器具有安全策略 --> 同源策略实现
  3. 跨域的范围是?
    浏览器

问题: 为什么要有 package.json?

分析: 帮助我们记录第三方的内容
即使没有node_modules也可以下载

自定义模块的发布

package.json --> 当前项目的依赖包 兵哥
package-lock.json --> 当前项目依赖包的具体信息 兵哥的具体信息
Node.js是单线程
​ 主线程
​ 异步队列: Node.js中异步任务, 放在异步队列
​ 注意: 优先执行主线程中任务, 主线程任务结束后, 再去执行异步队列中任务

Node.js 内置模块

fs(文件系统)
path(磁盘路径)
http(通信)
使用方法:

  1. 导入
    const 变量名 = require (‘模块名称’)
  2. 使用模块的api
    变量名.api();
    path.resolve(__dirname);获得磁盘路径

Node.js 第三方模块

  1. 安装

    1. 初始化生成 package.json

    2. 安装对应的包
      举例:npm i request -g/-D/-S
      名词说明:
      -g -global 全局
      -D / --save-dev 开发环境
      -S / -save 生产环境

  2. 导入
    request 用来做数据请求的

  3. 使用
    去看文档(www.npmjs.com)

Node.js 自定义模块

  1. 定义
    对象 函数 字符串 ……
  2. 导出
    module.exports || exports
  3. 使用
    const 变量名称 = require(‘模块名称’);
  4. 扩展
    需求:安全性考虑 封装

HTTP

  1. createServer 创建一个web静态服务器
  2. listen 是用来监听当前服务器
  3. 名词解释
    1. port 端口
    2. hostname: 域名
    3. request 请求, Node.js请求谁
    4. response 回应]
    5. data 数据
    6. encoding; 编码方式 utf8 默认utf8
  4. write(data,encoding) 给前台发送一个内容
  5. end() 发送已经结束了

URL

用来做 浏览器 地址 解析的

api:
parse : String --> Object
format: Object —> String
resolve: url拼接

完整的url构成:
https: // www.web-yyb.top: 8080 / vue / index.html ? a=1&b=2#a=10
协议: https
域名: www.web-yyb.top
端口: 8080
路径: www.web-yyb.top: 8080 / vue / index.html
查找字符串: a=1&b=2
哈希: #a=10

querystring

干什么:
进行string 和 object 的格式
功能:
类似JSON.parse || JSON.stringify
api:
parse
stringify Object —> String
escape
unescape
名词
encoding 编码
unencoding 解码
escape 中文编码
unescape 中文解码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值