node.js基础

前端的环境

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

koa

  1. koa是express超集(进阶版)
  2. 架构思想
    需求: 将express框架 — RMVC框架
    RMVC
    R – Router 路由
    M – Model 数据
    V – View 视图
    C – Controller 控制器(逻辑)

前后端分离和耦合概念介绍

  1. 面向过程 – 面向对象 — 面向服务

前端模块化

  1. CMD ( sea.js )
  2. AMD ( require.js )
  3. Common.js
  4. es6模块化

CMD 和 AMD
define 定义模块

Node.js中使用了Common.js规范(三类)
   1. 内置的
   2. 第三方的
   3. 自定义的

Node.js自定义模块步骤

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

npm官网发布自定义包(带有一定功能)

操作流程

  1. 创建一个文件夹
  2. 创建pageage.json
    Yarn init / npm init /cnpm init
    快速创建 npm init -y / yarn init -y /cnpm init -y
  3. 注册npm仓库
    www.npmjs.com注册一个账号
    命令行执行 npm adduser(必须确保你当前的源是npmjs,使用nrm来切换源)
  4. 上传包
    npm publish

注意:
1.npm源切换 nrm. npm i nrm -g
2.注意:npm账号需要邮箱认证

Node.js中第三方模块如何使用?

  1. 安装
    初始化生成 package.json 安装对应的包
    举例: npm i ‘你所需要安装的包’ -g/-D/-S
  2. 名词说明:
    -g -global 全局
    -D / --save-dev 开发环境
    -S / -save 生产环境

使用Node.js实现一个web服务器

  1. Node.js中模块的api很多时候可以连缀(链式调用)
  2. 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() 发送已经结束了
  6. 可能遇到问题
    中文乱码问题
    解决方案一:
    response.writeHead(200,{
    ‘Content-Type’: ‘text/html; charset=UTF-8’
    })
    解决方案2:
    response.write(’ ')
const http = require('http');

const port = 8090;

const hostname = 'localhost'  // 127.0.0.1

//  格式: http.createServer(callback).listen(prot,hostname,callback)
http.createServer(function(request,response){

  // response.writeHead(statusCode,options)

  response.writeHead(200,{
    'Content-Type': 'text/html'
  })

  response.write('<head> <meta charset="UTF-8"> </head>')
  response.write('<h1> yanyabing : 最帅的杭州H5讲师 </h1>');

  response.end()

}).listen(port,hostname,function(){
  //在后端控制台输出
  console.log('====================================');
  console.log(`服务器运行在: https: //${hostname}:${port}`);
  console.log('====================================');
})

完整的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

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

不需要跨域的

同源策略

  1. 为什么会出现跨域
    开发中会有不同的域名和端口等出现?我们需要去获取他们的内容
  2. 浏览器如何组织跨域
    浏览器具有安全策略 —》 同源策略实现
  3. 跨域的范围是?
    浏览器(只有浏览器才会产生跨域,像app是不会产生跨域的)
node.js http.get 后端爬虫
流程
  数据抓取 -- 数据清洗 -- 数据格式整理---发送前台(web服务器)
反爬虫:
 数据清洗的时候做,数据中用一个其他类型格式数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值