node的小知识点
今天开始阅读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的小知识点的更多相关文章
- 刚接触Linux,菜鸟必备的小知识点(一)
身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...
- Java学习过程中的总结的小知识点(长期更新)
Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...
- 【转】HTML5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...
- AngularJS的小知识点
小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...
- js中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...
- html5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...
- [BS] 小知识点总结-05
[BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...
- 一个关于echo的小知识点
一个关于echo的小知识点 echo一个布尔值时,如果是true,输出1,而如果是false,将什么都不输出! 网上搜的一个解释: 对于数字类型来说,false 确实 是 0, 而对strin ...
- easyui中的combobox小知识点~~
一直使用的easyui中,一些不为人知的小知识点,与君共勉: 1.combobox设置高度:使用panelHeight属性: 2.combobox本身自带“自动补全”功能,但是在浏览器中是有限制的,在 ...
随机推荐
- Liar CodeForces - 822E (dp,后缀数组)
大意: 给定串$s,t$, 给定整数$x$, 求判断$t$是否能划分为至多$x$段, 使这些段在$s$中按顺序,不交叉的出现. 设$dp_{i,j}$表示$s$匹配到$i$位, 划分了$j$段, 匹配 ...
- Angular Material 学习笔记 Chips
依据 material guidelines, chips 可以用来做 filter https://material.io/design/components/chips.html#filter-c ...
- php 跳转页面
header('location:./example.php'); header('refresh:2;url=./example.php');
- gulp删除目标文件中所有的console.log()语句——gulp-strip-debug
1.安装npm包 npm install --save-dev gulp-strip-debug 2.使用 const gulp = require('gulp'); const stripDebug ...
- C#简单工厂案例
using System; namespace Application { class JianDanGongChang { static void Main(string[] args) { Fac ...
- 在Linux上安装Zookeeper集群
xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.——这才是真正的堪称强大!! - ...
- mysql 查询表的字段名称,字段类型
select column_name,column_comment,data_type from information_schema.columns where table_name='查询表名称' ...
- cmake用法及常用命令总结(全)
CMakeLists.txt 的语法比较简单,由命令.注释和空格组成,其中命令是不区分大小写的.指令是大小写无关的,参数和变量是大小写相关的.但推荐全部使用大写指令.符号 # 后面的内容被认为是注释. ...
- 基于STM32L476开发板的USB音频设备
现代音频设备中有很多知识产权. 我想研究创建一个与手机交互的算法设备(运行non-trivial算法的嵌入式设备). 我发现创建一个Lightning设备比创建一个连接到Android手机的的USB设 ...
- React 零碎笔记
1.对数组的操作(添加.更新.删除) const posts = [...this.state.posts]; posts.push(post); this.setState({posts}); =& ...