zoukankan      html  css  js  c++  java
  • node-lessons

    教程:https://github.com/alsotang/node-lessons

    nvm 的全称是 Node Version Manager,之所以需要这个工具,是因为 Node.js 的各种特性都没有稳定下来,所以我们经常由于老项目或尝新的原因,需要切换各种版本。

    安装:$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.2/install.sh | bash

    安装node:nvm install 0.12

    查看:nvm ls

    1

    查看该项目安装的模块

    ls node_modules

    或者npm list,这是全局的,有一定的结构

    2

    npm init初始化,会生成一份简单地package.json

    npm install express utility --save  可以一次安装两个模块,--才是保存

    utility包含了很多辅助方法,而crypto只是单独做加密的;

    3爬虫

    superagent:http 方面的库,可以发起 get 或 post 请求

    好好看看 superagent 的 API,它把链式调用的风格玩到了极致

    4并发

    eventproxy 没接触过

    5async

    async demo:https://github.com/alsotang/async_demo

    可以控制并发数:mapLimit; queue

    这节写的真好。

    5测试

    require.main === module:   // 如果是直接执行 main.js,则进入此处   // 如果 main.js 被其他文件 require,则此处不会执行。

    mian.text 不能引入 main?  同级的话require('./main');

    执行测试:mocha main.test

    var main = require('./main');
    var should = require('should');
    
    describe('main.test.js', function(){
    	it('should equal 55 when n === 10', function(){
    		main.fibonacci(10).should.equal(55);
    	})
    })
    

     describe 中的字符串,用来描述你要测的主体是什么;it 当中,描述具体的 case 内容。

    mocha 测试库

    should 断言库

    expect 断言库

    这就是传说中的测试驱动开发:先把要达到的目的都描述清楚,然后让现有的程序跑不过 case,再修补程序,让 case 通过。

    istanbul 覆盖率

    打开看看:open coverage/lcov-report/index.html  也可以直接打开页面

    makefile:http://blog.csdn.net/haoel/article/details/2886

    10 benchmark

    nodejs的性能测试,和jsPerf结合使用

    https://github.com/bestiejs/benchmark.js

    http://jsperf.com

    11 闭包

    node 有一个全局对象global;浏览器全局对象window

    sublimelinter没有正常使用

    闭包:内部函数可以访问定义在外部函数中的变量。现在学习主要是为了使用,所以看一个知识点,一定要知道有什么用

    var adder = function (x) {
      var base = x;
      return function (n) {
        return n + base;
      };
    };
    
    var add10 = adder(10);
    console.log(add10(5));
    
    var add20 = adder(20);
    console.log(add20(5));
    

     闭包的坑:不是每一种for循环的代码,都会碰到这个坑,而是里面的代码如果是异步或过一会才执行的话,就需要(idx)(i)了

    14 最佳实践

    在 js 中,务必使用 === 三个等于号来比较对象,或者自定义方法来比较,不要使用 ==。

    我最近做一个项目,从数据库中取出的数据,虽然应该是字符型的,但有时它们是 String 的表示,有时是 Number 的表示。为了省事,会有人直接用 == 来对它们进行比较。这种时候,建议在比较时,把它们都转成 String 类型,然后用 === 来比较。

    比如 var x = 31243; var y = '31243',比较时,这么做:String(x) === String(y)

    lodash:https://lodash.com/docs  js的工具库  http://www.cnblogs.com/Leo_wl/p/4418781.html

  • 相关阅读:
    全栈项目搭建 ------- express
    全栈项目搭建 ------- mysql
    全栈项目搭建 ------- pm2
    基于mysql+node+vue-ssr+webpack全栈项目搭建
    前端技能2020
    项目线上地址汇总2020
    实现一个脚手架
    下载漏洞
    java学习笔记(13-接口、final、多态)
    java学习笔记(12-继承、抽象类)
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4868251.html
Copyright © 2011-2022 走看看