需要注 意的是,在 Node.js 中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的, 而模块本身不是最外层上下文。...console.log('Hello world'); console.log('byvoid%diovyb'); console.log('byvoid%diovyb', 1991); 运行结果为...: Hello world byvoid%diovyb byvoid1991iovyb console.error():与console.log() 用法相同,只是向标准错误流输出。... (/home/byvoid/consoletrace.js:1:71) at Module...._tickCallback (node.js:192:40)
》作者,大牛,真名田永强,文艺型码农,Node.js布道者。...现就职于阿里巴巴数据平台,任资深工程师,著有《深入浅出Node.js》。...《Node.js开发指南》作者。 他的博客可谓是个小宝藏了,除了技术文之后,游记等生活点滴的一些感悟也不错。...相关链接 Github主页:https://github.com/BYVoid 个人博客:http://www.byvoid.com 微博:@BYVoid 豆瓣:http://www.douban.com.../people/byvoid/ 知乎: https://www.zhihu.com/people/byvoid/activities 邮箱:cmykrgb123@gmail.com ---- 李垚
util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心 JavaScript 的功能 过于精简的不足。...如果我们去掉 objSub.sayHello(); 这行的注释,将会看到: node.js:201 throw e; // process.nextTick error, or 'error' event...<anonymous> (/home/byvoid/utilinherits.js:29:8) at Module...._tickCallback (node.js:192:40) ---- util.inspect util.inspect(object,[showHidden],[depth],[colors])...var util = require('util'); function Person() { this.name = 'byvoid'; this.toString = function
》作者,大牛,真名田永强,文艺型码农,Node.js布道者。...现就职于阿里巴巴数据平台,任资深工程师,著有《深入浅出Node.js》。...BYVoid(郭家宝),清华大学计算机系2010级本科生,自由意志主义者。...《Node.js开发指南》作者。...相关链接 Github主页:https://github.com/BYVoid 个人博客:http://www.byvoid.com 微博:@BYVoid 豆瓣:http://www.douban.com
为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。...换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。...引入模块 在 Node.js 中,引入一个模块非常简单,如下我们创建一个 main.js 文件并引入 hello 模块,代码如下: var hello = require('..../hello') 引入了当前目录下的 hello.js 文件(./ 为当前目录,node.js 默认后缀为 js)。.../hello'); hello = new Hello(); hello.setName('BYVoid'); hello.sayHello(); 模块接口的唯一变化是使用 module.exports
1. node.js模块概述 为了让node.js的文件可以相互调用,node.js提供了一个简单的模块系统。模块是node.js应用程序基本的组成部分,文件和模块是一一对应的。.../代表当前目录,node.js默认后缀为js。.../hello') hello = new Hello() hello.setName('BYVoid') hello.sayHello() 模块接口的唯一变化是使用module.exports = Hello...再强调一点,在node.js中,一个文件对应一个模块。.../hello') hello = new Hello() hello.setName('BYVoid') ... ... 这里,我们使用.
当 error 被触发时,EventEmitter 规定如果没有响 应的监听器,Node.js 会把它当作异常,退出程序并输出错误信息。...= require('events'); var emitter = new events.EventEmitter(); emitter.emit('error'); 运行时会显示以下错误: node.js... (/home/byvoid/error.js:5:9) at Module...._tickCallback (node.js:192:40) ---- 继承 EventEmitter 大多数时候我们不会直接使用 EventEmitter,而是在对象中继承它。
因组里项目需要,我和另外一名同事要学习Node.js。...Node.js架构 ? 1. Node.js跨平台支持*nix与Windows得益于Libuv中间层,通过它去调用不同操作系统的底层操作。 2....Node.js特点 1. 单线程 优点:无需像多线程编程在意状态的同步问题,因此无死锁问题,也避免了线程上下文切换带来的性能开销 2....初学网络编程 Node.js标准库提供了http模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端。...Node.js学习资料 1. 《Node.js入门指南》,推荐,适合入门 2. 《深入简出Node.js》,有深度,推荐 五. 其他备忘 1.
Node.js方向,相对深入的一本书。而Byvoid那本一来比较简单,二来Express的版本已经超过他示例代码版本很多了,再版的话还是挺推荐作为Node.js入门读物的。 ?
有些项目对 Node.js 的版本有要求(例如:codesandbox-client 要求 Node.js 版本要兼容 ^10.22.1),这就需要有一种方法能在你的电脑上管理(安装、切换、删除)多个版本的...Node.js。...Fast and simple Node.js version manager, built in Rust. ?...Works with .node-version and .nvmrc files 注:开源项目 codesandbox-client 即推荐使用 fnm 作为 Node.js 的版本管理器。...Administrator\Documents\WindowsPowerShell\profile.ps1 调整 WebStorm 的 Terminal 为 PowerShell 使用 fnm 安装指定版本 Node.js
Node.js Node.js是一个基于Chrome V8引擎的JavaScript运行环境 官方地址:https://nodejs.org/zh-cn/ 浏览器是JavaScript的前端运行环境 Node.js...http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。...中的模块化 Node.js中根据模块来源不同,将模块分为3个大类: 内置模块:内置模块是由Node.js官方提供的,例如fs、path、http等 自定义模块:用户创建的每个.js文件,都是自定义模块...内置模块的加载机制 内置模块是由 Node.js 官方提供的模块,内置模块的加载优先级最高。...如果以上两步都失败了,则 Node.js 会在终端打印错误消息,报告模块的缺失:Error: Cannot find module 'xxx‘
Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列,Node.js 里面的许多对象都会触发分发事件:一个 net.Server 对象会在每次有新连接时触发一个事件, 一个 fs.readStream...当 error 被触发时,EventEmitter 规定如果没有响 应的监听器,Node.js 会把它当作异常,退出程序并输出错误信息。...require('events'); var emitter = new events.EventEmitter(); emitter.emit('error'); 直接运行会报如下的错误: node.js... (/home/byvoid/error.js:5:9) at Module...._tickCallback (node.js:192:40) 总结 大多数时候我们不会直接使用 EventEmitter,而是在对象中继承它。
一、简介 1、什么是Node.js?...Node.js 是一种建立在Google Chrome’s v8 engine上的 non-blocking (非阻塞), event-driven (基于事件的) I/O平台....Node.js平台使用的开发语言是JavaScript,平台提供了操作系统低层的API,方便做服务器端编程,具体包括文件操作、进程操作、通信操作等系统模块 2、Node.js的特性 基于V8引起渲染JS...image.png 多版本安装方式 卸载已有的Node.js 下载nvm 在C盘创建目录dev 在dev目中中创建两个子目录nvm和nodejs 并且把nvm包解压进去nvm目录中 在install.cmd...文件上面右键选择【以管理员身份运行】 打开的cmd窗口直接回车会生成一个settings.txt文件,修改文件中配置信息 配置nvm和Node.js环境变量 NVM_HOME:C:\dev\nvm NVM_SYMLINK
文章目录 前言 下载和安装 Path环境变量 测试 推荐插件 总结 ---- 前言 Node.js是一个在服务器端可以解析和执行JavaScript代码的运行环境,也可以说是一个运行时平台,仍然使用JavaScript...---- 下载和安装 Node.js的官方网址是https://nodejs.org,进入官方网址,可以看到两个版本的安装包,LTS是长期稳定版,Current是最新版。
最近笔者在阅读《深入浅出Node.js》,结合查阅的相关资料,本文算是一篇 Node.js 笔记。 Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境。...在 Node.js 出现之前,JavaScript 只能在浏览器中使用。而 Node.js 的出现打破了这个局面。以下为 Chrome 浏览器和 Node.js 的组件构成。...浏览器和 Node.js 的结构是相似的,比如它们都是通过事件驱动的异步架构,浏览器通过事件驱动来完成界面 UI 交互,Node.js 通过事件驱动完成服务 I/O。...什么场景下使用 Node.js 适合场景 上文提到,Node.js 是单线程、使用非阻塞 I/O 调用,这允许它支持数以万计的并发支持(在事件循环中维持)。...[3] 来,告诉你Node.js究竟是什么?
很多时候,我苦恼于 Node.js 的调试,只会使用 console.log 这种带有侵入性的方法,但是其实 Node.js 也可以做到跟浏览器调试一样的方便。...这个链接是 Node.js 和 Chrome 之前通信的 websocket 地址,通过 websocket 通信,我们可以在 Chrome 中实时看到 Node.js 的结果。...Vscode 调试 除了浏览器之外,各大主流的 IDE 都支持 Node.js 的调试,本文以 Vscode 为例。...总结 本文总结了两种常见的调试 Node.js 的方式。第一种 Node.js 通过 websocket 的方式将信息传递给 Chrome 浏览器,我们直接在 Chrome 中进行调试。...通过 Attach to Node Process Action 的方式,可以便捷的调试正在运行的 Node.js 代码,而不需要配置。
Node.js 笔记 参加字节跳动的青训营时写的笔记。这部分是欧阳亚东老师讲的课。 1....运行时结构 V8:JavaScript Runtime,诊断调试工具(inspector) libuv:eventloop(事件循环),syscall(系统调用) 2.1 特点 异步 I/O:当 Node.js...(不需要锁),能够高效地利用系统资源 缺点:阻塞会产生更多的负面影响, 解决方法:多进程或多线程 跨平台(大部分功能, api):开发成本低(大部分情景不需要考虑跨平台问题),学习成本低 Node.js
一、欢迎进入Node.js世界 1.DIRT(data-intensive real-time)表示数据密集型实时程序。
简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。...如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。...Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。...如果你学习过Javascript,PHP,Java等编程语言,将有助于你更快的了解Node.js编程。...---- 第一个Node.js程序:Hello World!
以下主要从什么是 Node.js 框架,使用 Node.js 框架能够解决什么问题,为什么要用 Node.js 框架,在哪些场合下应该考虑使用 Node.js 来展开概述。...一、什么是 Node.js 框架 官网介绍:“Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。...Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。”。...二、使用 Node.js 框架能够解决什么问题 Node.js 的首要目标是提供一种简单的、用于创建高性能服务器及可在该服务器中运行的各种应用程序的开发工具。...三、为什么要用 Node.js 框架 3.1 实现高性能服务器 严格地说,Node.js 是一个开发各种 Web 服务器的开发工具。
领取专属 10元无门槛券
手把手带您无忧上云