为了账号安全,请及时绑定邮箱和手机立即绑定

进击Node.js基础(一)

Scott 全栈工程师
难度中级
时长 3小时27分
学习人数
综合评分9.50
664人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • HTTP知识

    查看全部
    0 采集 收起 来源:HTTP知识先填坑

    2018-09-23

  • 模块的流程

    查看全部
  • git Bash

    查看全部
  • 模块与包管理工具

    查看全部
  • www.npmjs.com  node.js  github.com

    stackoverflow.com

    查看全部
  • 解决linux环境安装问题

    yum -y update && yum -y groupinstall "Development Tools"

    查看全部
  • 一、http.request(options[, callback]);

    hots、hostname(host的别名)、port、localAddress、socketPath、method、path、headers、auth、agent(代理)、keepAlive、keepAliveMsecs

    二、

    //// request.js
    var http = require('http');
    var querystring = require('querystring');
    var postData = querystring.stringify({
      'content': '一起期待下一期的课程',
      'cid': 348
    });
    var options = {
      hostname: 'www.imooc.com',
      port: 80,
      path: '/course/document',
      method: 'post',
      headers: {
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8'
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        'Content-length': postData.length,
        'Cookie': 'imooc_uuid=3d8f2c90-7665-4a1e-b895-df1d56529a9a; imooc_isnew_ct=1536739444; imooc_isnew=2; IMCDNS=0; Hm_lvt_fb538fdd5bd62072b6a984ddbc658a16=1536739476,1536890903; Hm_lvt_f0cfcccd7b1393990c78efdeebff3968=1536739480,1536890903; Hm_lpvt_fb538fdd5bd62072b6a984ddbc658a16=1536905046; Hm_lpvt_f0cfcccd7b1393990c78efdeebff3968=1536905046; cvde=5b9b18152e001-33',
        'Host': 'www.imooc.com',
        'Pragma': 'no-cache',
        'Referer': 'http://www.imooc.com/learn/348',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest'
      }
    };
    var req = http.request(options, function(res) {
      console.log('Status:' + res.statusCode);
      console.log('headers:' + JSON.stringify(res.headers));
      res.on('data', function(chunk){
        console.log(Buffer.isBuffer(chunk));
        console.log(typeof chunk);
      });
      res.on('end', function() {
        console.log('评论完毕');
      });
    });
    req.on('error', function(e) {
      console.log('Error' + e.message);
    });
    req.write(postData);
    req.end();


    查看全部
  • 一、nodeJs不存在浏览器中的冒泡,捕获等行为。有events模块。

    二、EventEmitter事件发射,事件监听。支持多个事件监听,最大支持10个(值可以修改)。

    life.setMaxListeners(11);

    三、

    // 查看事件是否被监听过
    var hasConfortListener = life.emit('hug', '汉子'); // true:监听过,false:没被监听

    四、

    //// ①事件监听的移除
    life.removeListener('hug', water); // hug:事件名,water:方法名
    life.removeAllListeners('hug'); // 批量移除
    //// ②事件监听的数量
    life.listeners('hug'.length);
    EventEmitter.listenerCount(life, 'hug');


    查看全部
  • 一、sudo npm install cheerio。像jquery一样的模块。如果没有sudo,会报错(没有权限)。

    var $ = cheerio.load(html);

    二、forEach是js中的方法(针对数组),each是jquery中的方法。

    查看全部
    0 采集 收起 来源:HTTP 小爬虫

    2018-09-14

  • 一、测试http性能,appache自带的ab.

    ab -n1000 -c10 http://localhost:2015/

    (1)-n:总请求数,  

    -c:并发数,Concurrency[kən'kʌrənsi](并发性)。

    -t:测试进行的总时间,-p:post数据文件,-w:以html表格形式输出文件。

    (2)2015后要加/

    二、重要指标

    1、Requests per second:服务器吞吐率。

    2、Time per request:用户平均请求的等待时间。

    3、第2个Time per request:每个连接请求时间实际运行时间的平均值。

    查看全部
    0 采集 收起 来源:HTTP 性能测试

    2018-09-13

  • 作用域:与调用函数,访问变量的能力有关 作用域分为:局部和全局(在局部作用域里可以访问到全局作用域的变量,但在局部作用域外面就访问不到局部作用里面所设定的变量) 

     上下文:与this关键字有关 是调用当前可执行代码的引用       this总是指向调用这个的方法的对象 js里的this 通常是当前函数的拥有者,拥有者叫做执行上下文。在nodejs中声明函数中的this指向全局global,js中指向window。实例化函数后,指向当前函数的拥有者。

    call和apply可以改变上下文执行对象。(把原来的this全都替换成自己指定的对象即可理解。)

    https://img1.sycdn.imooc.com//5b99c9ff0001665b04570377.jpg

    查看全部
  • 一、github项目页按下't'键,能快速调出搜索页。

    二、搜索http.js,知道createServer做了什么事,搜索_http_server, emit触发request事件。

    查看全部
    0 采集 收起 来源:HTTP 源码解读

    2018-09-12

  • 一、javascript的this指向当前函数的拥有者。拥有者叫做执行上下文。

    this只能在函数内部使用。

    二、node.js中this

    1、

    var pet = {
      words: '...',
      speak: function() {
        console.log(this.words);
        console.log(this === pet); // true
      }
    };
    pet.speak();

    2、nodeJs中是global,javascript是window

     function pet(words) {
       this.words = words;
       console.log(this.words);
       console.log(this === global); // true
     }
     pet('...');

    三、上下文

    定义时的上下文、调用时的上下文、上下文的改变。

    四、函数的调用,函数拥有的2个方法:call、apply。

    1、call, applly可以改变上下文执行对象。

    2、call函数需要一个参数列表, apply允许传递一个参数或者数组。改变上下文调用环境。

    3、调用对象方法, 用另一个对象替换当前对象。




    查看全部
  • 一、http

    1、回调

    2、同步、异步

    3、I/O

    磁盘的写入和读取

    4、单线程、多线程

    (1)浏览器的js是单线程的。

    (2)js最基础的异步函数是setTimeout, setInterval。

    (3)单线程的nodeJs,可以通过异步达到多线程的效果。

    5、阻塞、非阻塞

    6、事件

    7、事件驱动

    为某个事件注册了某个函数,但是这个函数不会立即执行,只有事件触发了才会调用回调函数。

    8、基于事件驱动的回调

    9、事件循环。


    查看全部
  • 一、http1.0的请求方法(8种):

    get、post、put、delete、head、trace、options



    查看全部

举报

0/150
提交
取消
课程须知
我们的教程面向的同学是:有 JavaScript 基础的同学,如果有过任何后台语言开发的经验更适合,对于有基础的同学,可以快进跳着看教程,不必拘束于每一分钟都听,很多时候其实是思路,思路打通了,很多技术细节也就不用纠结了。
老师告诉你能学到什么?
从 Node.js 基础知识入手,比如安装,环境配置、开发环境等,进一步熟悉 Node.js API ,一些 HTTP 知识,并且对模块的概念和使用更加熟悉,从而进阶到模块或者插件的开发,最终能够借助 Node.js 快速实现特定的需求。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!