今天开始阅读node.js深入浅出这本书,阅读过程中会对某些理解有新的认识,所以特地把这些新认识或者知识点记录在这篇博客中

1、nodejs的优势在于 事件驱动、高并发、异步I/O 不适合cpu密集型(计算量大)

2、前端javascript和后端javascript的分界线是http,前者需要经历从同一个服务器端分发到多个客户端执行,瓶颈在于带宽;后者是javascript代码在一个服务器多次执行,瓶颈在于cpu和内存

3、java等一些后端语言都有类等模块包的定义,但是前端只能通过script标签来引入不同的脚本,但是node定义了commonJS的模块规范,通过require(),引入模块,通过module.exports导出模块(module.exports是一个对象)

4、node中的模块分为 核心模块 和  文件模块 ;在node中引入模块,中间经历了3步,路径分析、文件定位、编译执行;

其中核心模块已经编译成二进制文件了,第一次引入后,会存入到内存中,当第二次引入时,就会从内存中读取,这就是node中的优先从内存加载的规则,

另外引入文件模块时,会顺着路径搜索,如果只写了文件名,会先从node_modules目录搜索,在从父级的node_modules搜索,一次类推,如果没找到,会抛出异常

5、npm init会初始化一个package.json文件...,我们可以用npm 命令 下载、卸载、发布包...;如果想安装非官方的包 可以npm install filename --registry=http://registry.url

6、只有后端能够快速响应资源,才能让前端有好的体验(异步I/O)

7、process.nextTick(callback)会立即执行一个事件(异步),比setTimeout(fn,0)消耗的性能小

node的小知识点的更多相关文章

  1. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  2. Java学习过程中的总结的小知识点(长期更新)

    Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...

  3. 【转】HTML5的小知识点小集合

    html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...

  4. AngularJS的小知识点

    小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...

  5. js中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...

  6. html5的小知识点小集合

      html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...

  7. [BS] 小知识点总结-05

    [BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...

  8. 一个关于echo的小知识点

    一个关于echo的小知识点     echo一个布尔值时,如果是true,输出1,而如果是false,将什么都不输出! 网上搜的一个解释: 对于数字类型来说,false 确实 是 0, 而对strin ...

  9. easyui中的combobox小知识点~~

    一直使用的easyui中,一些不为人知的小知识点,与君共勉: 1.combobox设置高度:使用panelHeight属性: 2.combobox本身自带“自动补全”功能,但是在浏览器中是有限制的,在 ...

随机推荐

  1. Liar CodeForces - 822E (dp,后缀数组)

    大意: 给定串$s,t$, 给定整数$x$, 求判断$t$是否能划分为至多$x$段, 使这些段在$s$中按顺序,不交叉的出现. 设$dp_{i,j}$表示$s$匹配到$i$位, 划分了$j$段, 匹配 ...

  2. Angular Material 学习笔记 Chips

    依据 material guidelines, chips 可以用来做 filter https://material.io/design/components/chips.html#filter-c ...

  3. php 跳转页面

    header('location:./example.php'); header('refresh:2;url=./example.php');

  4. gulp删除目标文件中所有的console.log()语句——gulp-strip-debug

    1.安装npm包 npm install --save-dev gulp-strip-debug 2.使用 const gulp = require('gulp'); const stripDebug ...

  5. C#简单工厂案例

    using System; namespace Application { class JianDanGongChang { static void Main(string[] args) { Fac ...

  6. 在Linux上安装Zookeeper集群

    xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.——这才是真正的堪称强大!! - ...

  7. mysql 查询表的字段名称,字段类型

    select column_name,column_comment,data_type from information_schema.columns where table_name='查询表名称' ...

  8. cmake用法及常用命令总结(全)

    CMakeLists.txt 的语法比较简单,由命令.注释和空格组成,其中命令是不区分大小写的.指令是大小写无关的,参数和变量是大小写相关的.但推荐全部使用大写指令.符号 # 后面的内容被认为是注释. ...

  9. 基于STM32L476开发板的USB音频设备

    现代音频设备中有很多知识产权. 我想研究创建一个与手机交互的算法设备(运行non-trivial算法的嵌入式设备). 我发现创建一个Lightning设备比创建一个连接到Android手机的的USB设 ...

  10. React 零碎笔记

    1.对数组的操作(添加.更新.删除) const posts = [...this.state.posts]; posts.push(post); this.setState({posts}); =& ...