前言

上一节让我们对Node.js有一个初步的了解,那么现在可以开始正式学习下Node.js的开发了,但是任何一门语言要设计到开发,就必须先学习开发环境以及调试。本文将主要讲解这些内容。

本文涉及到的代码全部可在github地址找到>>>node 代码

安装

点击查看>>>node 中文官网地址

【版本选择】

看图发现包含两种版本:长期支持的稳定版本 以及 当前发布版(包含很多最新的特性)

安装的过程就省略了...

开发环境

那么我们如果想要开发一个node程序,需要什么先了解哪些概念呢?

【1】CommonJS

代码规范,如果AMD,CMD一样的代码组织规范(模块管理系统)

【2】global

代码运行在浏览器时,我们可以使用浏览器提供的全局对象:window以及DOM,BOM。但是node.js是运行在chrome V8引擎上的。给我们提供了 “global” 全局对象使用

【3】process

代表当前执行的进程,这个是挂载在global下面的。在一些高级点的功能需要使用到

下面我们写第一个node.js文件

文件名:01_run.js

console.log('hello Node');

那么我们如何执行文件呢。此时打开命令行工具,执行命令

node 01_run.js

可以看到输出结果:

调试工具

实际开发中我们会使用node提供的一款调试工具 "inspect" ,这里先简单的了解下使用,后面会详细学习该工具

1、命令行工具执行

node --inspect-brk 01_run.js

2、使用chrome浏览器,地址栏输入

chrome://inspect

3、点击上图中红色框框里面的 inspect

上图就是实际上在node执行代码时,node底层帮我们把代码进行的封装。

我们把封装的代码提取出来分析下:

(function(exports, require, module, __filename, __dirname) {
console.log('hello Node');
}
);
>>> node把我们的代码分装在一个函数中并且添加了5个参数,我们先只看前3个参数:exports ,require,module
>>> 其实这个就是CommonJS模块的话规范了。

小结

通过本文我们初步学习了

  • node的版本分为 长期稳定版本(LTS) 以及 当前新特性版本(current)
  • node的全局变量是global
  • 编写了第一个node代码,简单了解了下inspect调试工具

接下来我们将主要学习 CommonJS规范。

Node.js实战项目学习系列(2) 开发环境和调试工具的更多相关文章

  1. Node.js实战项目学习系列(1) 初识Node.js

    前言 一直想好好学习node.js都是半途而废的状态,这次沉下心来,想好好的学习下node.js.打算写一个系列的文章大概10几篇文章,会一直以实际案例作为贯穿的学习. 什么是node Node.js ...

  2. Node.js实战项目学习系列(5) node基础模块 path

    前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录 ...

  3. Node.js实战项目学习系列(4) node 对象(global、process进程、debug调试)

    前言 在之前的课程我们学习了Node的模块化规则,接下来我们将学习下 Node的几个新特性:global ,process进程,debug调试 global 跟在浏览器中的window一样都是全局变量 ...

  4. Node.js实战项目学习系列(3) CommonJS 模块化规范

    前言 想开始编写Node.js代码,那么我们就必须先熟悉它的模块化规范CommonJS,本文将详细讲解CommonJS规范 本文代码 >>> github 地址 CommonJS N ...

  5. iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备

    安装搭建项目的开发环境 视频地址:https://www.cctalk.com/v/15114357764004 文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await ...

  6. 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建

    node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...

  7. 前端(Node.js)(3)-- Node.js实战项目开发:“技术问答”

    1.Web 与 Node.js 相关技术介绍 1.1.Web应用的基本组件 web应用的三大部分 brower(GUI)<==>webserver(business logic.data ...

  8. java与.net比较学习系列(1) 开发环境和常用调试技巧

    最近因为公司项目要由.net平台转到java平台的原因,之前一直用.net的我不得不开始学习java了,刚开始听到说要转java的时候很抗拒,因为我想专注在.net平台上,不过这样也并不完全是坏事,通 ...

  9. 安装node.js+express for win7的Web开发环境配置

    1.安装 node.js. 进入官网的下载地址:http://www.nodejs.org/download/ . 选择Windows Installer或者选择Windows Installer ( ...

随机推荐

  1. 周一01.3Python多版本共存&pip环境变量设置

    python多版本共存 1.分别安装Python2.7(手动添加环境变量)与Python3.6 2.分别进入Py2与Py3文件夹中,复制python.exe,重命名为python2.exe和pytho ...

  2. Saltstack_使用指南07_远程执行-执行模块

    1. 主机规划 远程执行教程文档 https://docs.saltstack.com/en/latest/topics/tutorials/modules.html 所有模块文档 https://d ...

  3. Linux下禁止使用swap及防止OOM机制导致进程被kill掉

    首先解释两个概念: swap:在linux里面,当物理内存不够用了,而又有新的程序请求分配内存,那么linux就会选择将其他程序暂时不用的数据交换到物理磁盘上(swap out),等程序要用的时候再读 ...

  4. gulp配置(编译压缩转码自动刷新注释全)

    参考自:http://www.sheyilin.com/2016/02/gulp_introduce/ 在原先基础上增加了less编译 es6转码资源地图等,修改了一部分的热刷新. gulpfile. ...

  5. UUID简记

    一.概述 wiki上的解释: A universally unique identifier (UUID) is a 128-bit number used to identify informati ...

  6. 采用ADM2483磁隔离器让RS485接口更简单更安全

    采用ADM2483磁隔离器让RS485接口更简单更安全 摘要:本文介绍RS485的特点及应用,指出了普通RS485接口易损坏的问题,针对存在的问题介绍了以ADM2483为核心的磁隔离解决方案. 关键词 ...

  7. WPF防止界面卡死并显示加载中效果

    原文:WPF防止界面卡死并显示加载中效果 网上貌似没有完整的WPF正在加载的例子,所以自己写了一个,希望能帮到有需要的同学 前台: <Window x:Class="WpfApplic ...

  8. Ubuntu下解压压缩文件

    1.ZIP解压    ZIP因为它的跨平台使用优点,是目前使用率最高的一种压缩方式,但是它的压缩率相比较tar.gz和tar.gz2来讲,却要低很多.    压缩命令:zip -r archive_n ...

  9. iOS 封装SDK以及封装时bundle文件的处理

    这篇教程的主要目的是解释怎么样在你的iOS工程中创建并使用一个SDK,俗称.a文件. 环境:xcode 9.0 创建一个静态库工程 打开Xcode,点击File\New\Project, 选择iOS\ ...

  10. 安装Java和Tomcat

    安装Java 下载java源码包 安装的是JDK8,下载地址如下:下载链接 注意,不要在服务器中使用wget来下载jdk,因为oracle会认为你是爬虫,下载的文件不是jdk,而是一个html文件. ...