浅析 Nodejs 模块化】的更多相关文章

本文只讨论 CommonJS 规范,不涉及 ESM 我们知道 JavaScript 这门语言诞生之初主要是为了完成网页上表单的一些规则校验以及动画制作,所以布兰登.艾奇(Brendan Eich)只花了一周多就把 JavaScript 设计出来了.可以说 JavaScript 从出生开始就带着许多缺陷和缺点,这一点一直被其他语言的编程者所嘲笑.随着 BS 开发模式渐渐地火了起来,JavaScript 所要承担的责任也越来越大,ECMA 接手标准化之后也渐渐的开始完善了起来. 在 ES 6 之前,…
node.js的crypto在0.8版本,这个模块的主要功能是加密解密. node利用 OpenSSL库(https://www.openssl.org/source/)来实现它的加密技术, 这是因为OpenSSL已经是一个广泛被采用的加密算法.它包括了类似MD5 or SHA-1 算法,这些算法你可以利用在你的应用中. 作为工程师,对于openssl一个开源的软件库,你没有用过,你应该听过这个名字.openssl是使用C/C++实现算法的. Nodejs用C/C++实现这些算法后,通过cypt…
最近翻阅了node v0.10.4的buffer类的源代码,收获不少,也很久没有在cnode上发表文章了,想把一些收获分享给大家,有什么错误的地方希望大牛们指正啊. 前阵子有位rrestjs框架的使用者YanQ报告给我这样一个错误,跟我说在用户post很多内容的文章时会crash进程然后报如下错误:(热心的老雷帮我解决了问题) buffer.js:523 throw new RangeError('targetStart out of bounds'); 错误的原因是api上Class Meth…
1.什么时候该用buffer,什么时候不该用 看一下如下的测试代码,分别是拼接各种不同长度的字符串,最后直接拼接了10MB的字符串 var string,string2,string3; var bufstr,bufstr2,bufstr3; var j; console.time('write 1000 string'); for(j=0;j<1000;j++){ var x = j+''; string += x; } console.timeEnd('write 1000 string')…
commonjs 导出一个 a.js function add(a, b){ return a+b; } module.exports = add; b.js const add = require('./a'); const sum = add(10, 20); console.log(sum); 执行 node b.js 打印出30 导出多个 a.js function add(a, b){ return a + b; } function mul(a, b){ return a * b }…
buffer模块的详细使用教程 浅析nodejs的buffer类 深入浅出NodeJS--Buffer Node Buffer/Stream 内存策略分析…
一. CommonJS 规范 1.1nodejs 与 commonjs 之间的关系: 1)nodejs是一种服务器语言. a)开启服务的能力 b)文件读写的能力 服务器:就是一台安装了服务软件 2)commonjs是nodejs的规范. 1.2commonjs规范的意义: 由于nodejs是用javascript来写的,javascript遵守ECMAScript规范,而ECMAScript这个规范它(如果作为一门后台语言的规范)是不完整的,因为它内容仅仅只是规范了javascript的:词法.…
记得大四那年实习的时候出去找工作,就常常听见大家说node.从那以后,悄然埋下了一颗学习nodejs的心.不过由于基础太薄弱,一直没有学习.加之工作上没有相关应用,就一直搁置到现在. 年会的时候,老大用node做了一个微信弹幕,感觉好炫酷啊,所以,小白我决定了,好好学一下,好吧虽然我不白╮(╯_╰)╭ 趁今天暂时没有事,↖(^ω^)↗还有什么能阻止我学习的呢. 一般我学习都是从网上看各种api.博客以及视频教程,这样结合着看, 然后自己边学边写点小demo. 再自己写一些小应用,如果有机会的话把…
Nodejs官方文档 https://nodejs.org/en/docs/ Nodejs官方网站 https://nodejs.org/en/ Nodejs的特征:  1.采用非阻塞性IO机制:—— 不需要担心造成死锁 2.只支持单线程: 3.事件环: nodejs 默认不支持一些es6语法,需要加入严格模式 "use strict";  http://www.tuicool.com/articles/u2AJB3 class User { constructor(data) { s…
目标:爬取慕课网里面一个教程的视频信息,并将其存入mysql数据库.以http://www.imooc.com/learn/857为例. 一.工具 1.安装nodejs:(操作系统环境:WiN 7 64位)  在Windows环境下安装相对简单(ps:其他版本我也不太清楚,可以问度娘) http://nodejs.org/download/ 链接中下载对应操作系统安装文件(安装最新版本就行) 按照提示,一路下一步直到安装成功后,在默认安装路径下可以看到(C:\Program Files\node…