Node.js的基本使用2

linux命令

1. mkdir 创建文件夹
2. vim 简写 vi   创建文件的
3. rm -rf 文件名称  删除
4. 递归删除
   find ./ -name ‘文件名称‘ -print -exec rm -rf {} \;

举例: find ./ -name ‘node_modules‘ -print -exec rm -rf {} \;
5. cat  文件名称   查看某个文件的内容

前端渲染 vs 后端渲染

1. 前端拿到数据之后, 前端来渲染数据
2. 后端来进行渲染( express )
3. 浏览器 -》 开发者工具-》 network
  1. headers
    1. general
    2. responseHeaders
    3. requestHeaders
    4. query string paramters
    5. Form data(表单提交的)
 4.前后端渲染优劣分析
    地址:https://www.cnblogs.com/zhangrunhao/p/6845626.html

node.js http.get 后端爬虫

步骤:
   数据抓取 ---》 数据清洗 ---》 数据格式整理---》 发送前台(web服务器)

爬虫案例:

反爬虫:
   数据清洗的时候做,数据中用一个其他类型格式数据

events

1. Emitter.prototype   继承过来了  on   emit
   - on:事件的定义
   - emit:事件的触发
2.

fs/ zlib/ stream

 1.fs(文件模块)
    fs.readFile
    fs.open
    fs.openSync(open的同步方式)
    fs.write
    fs.close
    fs.unlink
    fs.readdir
    **注意:fs 模块的每一个方法都提供了异步与同步的两种操作方式。其中,异步的方式性能高,是一种推 荐的操作方式。如果您需要采用同步的方式,只要在异步方法名后面加上 Sync 即可,同时去掉末尾的 callback 参数**。
 2.zlib
 3.stream(流模块)
    流是一个抽象接口,有四种流类型
       readable:可读
       writable:可写操作
       duplex:可读可写操作
       transform:操作被写入数据,然后读出结果
 4.联合项目:制作压缩包
    制作一个压缩包的流程:
       1. 先有一个文件
       2. 读取文件
       3. 制作压缩包
       4. 将读取的数据放入到压缩包中
    code:
       const zlib = require(‘zlib‘);
       const fs = require(‘fs‘);
       //创建可读的流
       const inp = fs.createReadStream(‘yyb.txt‘);
       //创建空压缩包
       const gzip = zlib.createGzip();
       //创建可写的流
       const out = fs.createWriteStream(‘yyb.txt.gz‘);
       inp.pipe(gzip).pipe(out);

Node.js原生路由

 1. 为什么要引进前端路由这样一个东西

前端异步流程控制工具( 所有的 )

  1. Promise
    https://blog.csdn.net/MrJavaweb/article/details/79475949

  2. Generator
    https://www.cnblogs.com/imwtr/p/5913294.html

  3. Async-await

  4. Node.js 中的nextTick()和setimmediate()
    https://www.cnblogs.com/5ishare/p/5268273.html

  5. async库
    https://caolan.github.io/async/

  参考文档
  Event-loop
    http://www.ruanyifeng.com/blog/2014/10/event-loop.html?bsh_bid=983729729
    史上最易读懂的 Promise/A+ 完全实现
    https://zhuanlan.zhihu.com/p/21834559

npm script( npm脚本 )

  1. 概念:
    npm 允许在package.json文件里面,使用scripts字段定义脚本命令。

  2. 常用使用:
    1. npm脚本就相当于一个 电器的使用说明书

    2. npm脚本运行使用 npm  run 

    3. npm脚本可以简写,但是只有特定几个

        npm start   -> npm run start
        npm stop  -> npm run stop
        npm text  -> npm run test
        npm restart -> npm run stop & npm run start

express

构建后端项目的一个框架  

1. 安装生成器
  npm install express-generator -g

2. 使用
  express options 项目名称

3. 创建项目

  举例: express 04-express-project

4. 目录内容
  bin           项目的配置文件( 比如: port  )
    www         使用http模块创建一个web服务器
  public        静态资源文件夹( html css images js )
  routes        路由
  views         后端模板文件夹
  app.js        整个项目的入口文件
  package.json  整个项目的依赖包配置文件( 说明书 )
5. 项目的启动

  1. 先进入项目
    cd 项目名称
  2. 安装项目需要的依赖

    npm install

  3. 项目启动(说明书   package.json 中 scripts脚本)

    npm start

建议:
  养成一个习惯: 看到一个项目, 首先看项目的说明书(package.json)

6. 看一个项目流程? 

  1. package.json
      依赖包
      npm脚本--》 项目启动命令--》配置文件

7. express 中间件 Middleware
   中间件: 具有特定功能的函数

    中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。
      中间件的功能包括:
        *
      执行任何代码。
        *
      修改请求和响应对象。
        *
      终结请求-响应循环。
        *
      调用堆栈中的下一个中间件。

    中间件包含三个部分(形式参数)
      request : 请求
      response: 响应
      next: 请求和响应流程中的中间件, 用next变量表示

   express中提供了
    1. 应用级中间件
        应用级中间件就是一个具有特定功能性的函数, 这个函数需要绑定在app对象身上,通过app.use() || app.method() 来调用
    2. 路由中间件

    3. 错误中间件

  app对象
    const app = express()

    使用:
      1. app.use()    调用中间件(函数)
      2. app.method() 处理http请求的        

  前端的请求方式很多的: 比如: get post delete put all

  杭州: Node.js中间件封装

  Node.js渲染模板
    1. ejs
    2. pug(曾用名: jade)  语法功能很强大
    3. art-template(纯后端模板)

原文地址:https://blog.51cto.com/12699853/2376901

时间: 2024-08-10 23:47:13

Node.js的基本使用2的相关文章

node.js的安装及配置

一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(64位/32位) 根据提示一步步安装,安装之后的文件夹如下: 在cmd命令行下输入node -v,如果出现如下,说明安装成功: 二.关于配置 在安装路径下新建两个文件夹: 创建完两个空文件夹之后,打开cmd命令窗口,输入 npm config set prefix "D:\Program Files

Node.js: Extend and Maintain Applications + large scale

https://blog.risingstack.com/node-js-mysql-example-handling-hundred-gigabytes-of-data/ My secondary goal with this article is to help you decide if Node.js + MySQL is a good fit for your needs, and to provide help with implementing such a solution. h

1.node.js windows环境搭建

作为服务端运行javascript的平台的NodeJs,把前台javascript移到了服务器端,Google V8引擎使其运行效率非常高,它可以异步,无任何阻塞运行程序.nodejs包含http服务器,可以为我们实现 web系统设计,客户端javascript编译器,等一系列的功能. 工具/原料 windows系统电脑 ,电脑可以上网 方法/步骤 下载windows平台nodejs环境安装包,百度一下nodejs官网,找到DOWNLOADS点击,找到Windows Installer 如果为6

在Node.js中使用RabbitMQ系列二 任务队列

在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心解决的问题是避免立即处理那些耗时的任务,也就是避免请求-响应的这种同步模式.取而代之的是我们通过调度算法,让这些耗时的任务之后再执行,也就是采用异步的模式.我们需要将一条消息封装成一个任务,并且将它添加到任务队列里面.后台会运行多个工作进程(worker process),通过调度算法,将队列里的任

node.js搭建代理服务器请求数据

1.引入node.js中的模块 1 var http = require("http"); 2 var url = require("url"); 3 var qs = require("querystring"); 2.创建服务器 //用node中的http创建服务器 并传入两个形参 http.createServer(function(req , res) { //设置请求头 允许所有域名访问 解决跨域 res.setHeader("

Node.JS 文件读写,把Sheet图集转换为龙骨动画图集

Node.JS 文件读写,把Sheet图集数据转换为龙骨动画图集数据 var fs = require("fs") var readline = require("readline"); var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); var path = undefined; var dbName = undefined; rl.question(

10个常见的Node.js面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8

CentOS6.5 安装Node.js

Node.js的安装通常有两种方式:自己编译源代码和使用编译好的文件,我这里使用编译好的文件目前我的home目录下有刚下载来的node-v4.2.3-linux-x641.首先解压缩 tar xvf node-v4.2.3-linux-x64 2.设置链接 ln -s /home/node-v4.2.3-linux-x64/bin/node /usr/local/bin/node ln -s /home/node-v4.2.3-linux-x64/bin/npm /usr/local/bin/n

使用NPM安装Node.js模块以及调试

npm npm 作为Node.js的包管理器,是经常用到的工具. 注意:全局安装一个框架,需要加参数-g npm install -g express 安装后 在项目中只需要导入包即可 var http = require('http'); 调试 调试Node的最简单的方式就是console.log(),但是有时候也需要单步调试 在需要调试的地方写入debugger node debug *.js node中的测试命令: next,n:单步执行 cont,c:继续执行,直到遇到下一个断点 ste

用Node.js开发Windows 10物联网应用

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 未来10年内,物联网将会如移动互联网这样深入到我们生活的各方各面.所以微软现在对物联网进行了大量的投资,比如Windows 10就有一个单独的IoT版本.而今天推荐的文章是告诉大家如何把Node.js开发带到Windows 10 IoT中. 在月初Build大会上,微软发布了Windows 10 IoT Core Insider Preview,这个版本可以安装到树莓派2(Raspberry Pi