<<深入浅出nodeJS>>读书笔记--<一>

前语:nodeJs这书早在五月份的时候就已经买了,那时候才刚刚接触node,本想着这书应该是node入门级比较系统化的书,可翻了几页之后呢,发现好多地方都晦涩难懂,特别是看到内建模块的C++实现时,瞬间有想瞌睡的感觉....-_-从这之后,这书一直被我闲置在书桌角落,再无动过,看书学习node的想法就这样放弃了,转为上网学习基础的语法API..就这样,边看API边跟着做一些小例子,慢慢的,发现基本的API用法都已经掌握了,于是,去搜搜与node有关的一些技术博客,希望能够进阶去了解node。开始去尝试用node做一些完整的小例子,比如简单的博客实现,聊天室...就这么过了两个月左右,发现对node的了解基本上已经算是有了一个全面大致的认识了,所有的知识点都了解得差不多了,于是开始着手去实现一个简单的订餐app,在此之前,为了能够强化所有知识点以便顺利完成服务器端的编写,再一次翻开了那本稍有些许灰尘的<<深入浅出nodeJs>>,这一次,没有了初次的那种陌生羞涩感,有的只是对现有知识体系的扩充与强化,那么,我将用自己的语言来将这本书中的重要知识点一一记下来....

第一章  概述

   node的起源及基本作用

   node的特点:

    1、异步I/O  (发送请求与处理请求互不干扰)

    2、事件与回调函数(node是事件驱动的)

    3、单线程

    4、共享平台 (linux和window)

node的应用场景:

1、I/O密集型

2、分布式应用

第二章  模块机制

    node是基于javascript,而javascript本身又是有许多先天不足的,而且它的使命是为了服务客户端,对于服务器端的支持 (模块系统,标准库,标准接口,缺乏包管理系统),简直就是不了了之,根本就不在意.好在,CommonJS规范面世了,它的使命就是 希望Javascript能够在任何地方运行.

   commonJS对模块的定义有三个部分,分别是:1、模块引用  2、模块定义  3、模块标识

   -require

-exports

-module

    1、模块引用:     

var math = require (‘math‘);

2、模块定义:

//math.js
exports.add = function (){
     var sum = 0;
     while (sum < 10){
        sum += 1;
   }
  return sum;
 } 

然后通过,require来引入模块,就可以调用定义的属性和方法了.require == exports

3、模块标识:

传递给require方法的参数 , 字符串或路径

 2.2 Node的模块实现

   在Node中引入模块,经历三个步骤:

   (1) 路径分析

-- 核心模块 , fs http

-- 文件模块 , .或者..开始的相对路径文件模块

-- 以/开头的绝对路径模块

-- 非路径形式的内建模块,如自定义的connect模块

(2) 文件定位

-- 按路径

-- 按后缀名, .js 、.node 、.json

(3) 编译执行

-- javascript 核心模块,经历标识符分析后,直接定位到内存中,比普通的文件模块从磁盘中查找要快得多

-- c++内建模块,二进制、数组、内存,使用Binding()方法来协助加载内建模块

如何编写: NODE_MODULE()最底层  --> process.binding 定义到内存中

如何导出:层级依赖关系,内建c++    -->   核心模块Javascript  -->  文件模块

2.3 包与NPM

   模块组织代码,包组织模块

   package.json描述文件,dependencies:依赖的包列表

   发布包, npm publish <folder> 

   2.4 前后端共用模块

  前后端模块的侧重点不同。前端需要重服务器加载,用到了异步加载模块,后端的模块都存在本地,用到了同步加载。

  CommodJs规范:同步模式,适用后端

AMD规范:异步模式,适用前端

CMD规范:国人自创,前两者的结合体,加载和定义类似AMD,模块导出和引入接近CommonJs规范的定义

  兼容多种规范的定义:

  为了让同一模块可以在前后端运行,实现如下:

  

  

   

    

   

时间: 2024-08-13 19:51:27

<<深入浅出nodeJS>>读书笔记--<一>的相关文章

码农的产品思维培养第一节(人人都是产品经理读书笔记)

在前段时间,密集的推出Android学习记录之后,我觉得接下来的Android开发进入了一个精进演变的过程,革命性的东西略缺.每日更新特别新的东西也违背认知规律.所以以后关于Android方面的知识,碰到什么,然后记录什么. 而今天,在前一篇日志里面,我描述了我为什么要去理解"产品经理",从这一节开始,我要实施我的计划.所以,和Android记录一样,我要记录这个过程.对自己是一个回归总结吸收的过程,同时也希望能够帮助到更多的朋友,如果你也心存学习进取之心,如果你也如我一般疑惑未解心不

人人都是产品经理读书笔记(四)

补充:

《启示录:打造用户喜爱的产品》—— 读书笔记

这是一本非常不错的书,即使你可能只是一名开发工程师,也会有意想不到的收获! 如果你是一名产品经理,那就更不能错过了!不要留下遗憾! 这真的是一本很好的书,读每一遍都会有不同的收获,绝对让你震撼!我是会再读一遍或者N多遍的, 而能把这些内容转应用到实际中的人才是真正的高手,细细体会,在工作中好像已经有人在用了!惊讶!得抓紧时间了! 通过这本书,你将会知道一个合格的产品经理应该做什么,怎么做 本书主要讲解三个方面:人员.流程.产品 人员:产品从开始到完成过程中所有的参与者 流程:产品在开发过程中的所

产品经理学习笔记(二)------产品经理的工作职责(下)

二.产品经理的工作职责(下) 4.产品宣讲 ---宣讲对象:客服.市场.销售.运营.其他(开发进度到50%) ---宣讲目的:内部培训.获得认可 ---宣讲方式:内部推荐会(预测.演示.试用).注意控制(氛围.引导) ---宣讲目标:获得认可.帮助其他团队更好理解产品.协助其他团队更好开展工作 5.市场推广 ---对产品资料进行内容把关:网站.移动应用.印刷品等 ---主要针对:市场.公关.运营.销售 6.产品推出后的管理与迭代 ---运营数据的整理分析 ---深入一线体验产品 ---关注用户需

产品经理--读书静心的日子

入行教育,做教育产品工作,需要不断的进步. 一.了解产品开发.项目管理经验. 二.教育基础理论及相关知识. 小学阶段 (2016.2017不断的翻阅,有新的体会) 中学阶段(2018主攻方向)

谷歌和亚马逊如何做产品(读书笔记)

《产品经理》读书笔记

自从鼠标手犯病后,就刻意减少使用电脑的时间并且加强运动,目前已经完全康复,但是还是需要注意.因此更新博客的频率大大降低,但是也有时间多看看书,学习学习了! 最近看了<yes,产品经理>上下册,作者 汤圆 老马,文笔诙谐,把管理知识融入工作日常内容,浅显易懂,对于非管理专业的门外汉,还是不错的读物! 下面是摘抄的部分主要内容,个人认为比较有用的就记录下来. ------------------------------------------------ 制定产品价格策略的6步: 确定企业目标 冲

产品经理的那些事第一章读书笔记

1.一个产品经理的信仰:好产品能改变世界. 2.为什么要做产品经理:因为热爱,改变世界的方法有很多,技术可以改变世界,好的产品也可以,当然还有其他,但我热爱产品,一件事只有热爱了,才能持续不断的去做好,所以我选择了产品经理这条路. 3.产品是什么:产品是用来解决某个问题的东西. 4.产品经理为何而设:想要更了解产品与它面临的竞争情况,最终目的是要满足顾客的需求. 5.产品经理概念的进化: 分析: 1)行业形态不同:成熟行业vs.新兴行业 ①传统行业 概况:经过几十年乃至上百年的摸爬滚打,市场已经

【读书笔记】产品经理要做的事

文章链接:http://www.chanpin100.com/archives/44223 作为一个产品经理,不能只画图:产品经理更像是一个纽带,连接着各个环节,保持项目的正常运行. 在开始要做一个产品的时候,不能上来就画图,也不能告诉你需求就开始画图.应该先对需求进行筛选和挖掘:把伪需求去掉,挖掘出潜在需求. 1.分析产品的步骤:目标人群.使用场景.业务核心. 2.在团队中担任掌舵人,有目的的引导团队:激发团队灵感可以使用商业画布:客户分布.价值主张.渠道通路.客户关系.收入来源.核心资源.关

【读书笔记】神一样的产品经理(一)

 第一篇 产品经理 1.产品经理诞生的背景和价值 *很多入门级书里都会提到这一部分,本书讲了保洁诞生的第一个产品经理的故事. 2.很牛的产品经理(例子是乔布斯.郭靖) 1)几个重要特性:*影响力 *核心需求把控力 *创新力 *痴情力 2)产品经理的职责: *明确产品的目标用户群及其特征*获取.评估和管理用户需求*完成产品需求文档.产品原型和流程图*精通用户体验.交互设计和信息架构技能*项目管理.需求变更管理和需求验收*产品运营数据的分析和总结*提供运营.市场和销售等支撑 3)产品经理常犯的错误