CommonJs和es6的Module的区别

历史上,js一直没有模块(module)体系,无法将一个项目拆分成多个模块文件。正对这一情况,社区出现了一些统一的规范:CommonJs和AMD,前者是针对服务端的js,也就是nodejs。后者是针对浏览器的。ES6在语言标准层面上,实现了模块功能,而且实现也比较简单。完全可以取代CommonJs和AMD。达成前后端js的模块风格统一。不过目前还未完全达到这一目的。nodejs目前主流还是采用CommonJS规范。不过在v13.2版本,nodejs已经实现了ES6模块语法,还未正式替换,在考察阶段。v13.2版本将js文件以 .mjs结尾,nodejs将它视为ES6模块。以 .cjs结尾则视为CommonJS模块。也可以在包的package.json文件中增加 "type": "module"信息。nodejs则将整个包都视为ES6模块来加载运行。
阅读更多

js原型链快速理解

理解原型链首先需要知道js中的两个对象:普通对象和函数对象;(函数对象的本质还是一个普通对象,它有着特殊的属性)
阅读更多

nodejs-服务的简单调优

有许多第三方工具可用来分析Node.js应用程序,比如火焰图。但在许多情况下,最简单的选择是使用内置的分析器使用V8内部的分析器,在程序执行期间定期对堆栈进行采样。它将这些示例的结果以及重要的优化事件记录为一系列滴答,本文假设读者已经对nodejs异步回调的特性有一点了解,不了解也不所谓,只是了解的话,文章阅读会更清晰。
阅读更多