Javascript

Nodejs 学习笔记

本文主要是介绍Nodejs 学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、Node.jS 介绍

1. 为什么要学习Node.js?

  前端人员(写页面、发请求、做用户交互),学习Node.js 的目的是为了帮助大家打开服务器这个黑盒子,只有了解服务端才能更好的配合服务端开发人员进行协同工作。

2. 什么是 Nodejs?

  Node.js 不是一门语言,也不是框架和库,而是一个 JavaScript 运行时环境,也就是一个 JavaScript 运行的平台,可以让 JavaScript 脱离浏览器运行的一个平台。

  注意:浏览器中的 JavaScript 包含 BOM、DOM、ECMAScript;Node.js 中的 JavaScript 没有 BOM 和 DOM,只有 ECMAScript 和 一些服务器级别的 API(如文件的读写、HTTP服务器等)。

3. Node.js 的特性

  1)event-driven 事件驱动

  2)non-blocking I/O model 非阻塞IO模型(异步)

  3)lightweight and efficient 轻量和高效

4. Node.js 能做什么?

  1)Web 服务器后台

  2)命令行工具(npm、hexo、webpack、gulp)

  注意:要使用 npm 必须先安装 node.js,因为 npm 是nodejs 开发的一款包管理工具。

二、起步

1. 安装 Node 环境

  1.1 查看当前 Node 环境的版本号(查看是否已经安装)。打开命令行,输入 node --version

  

  1.2 若没有安装,下载:https://nodejs.org/en/download/。

  1.3 安装,一路 next 即可,若是已经安装过,再次安装则会对原有版本进行覆盖。

  1.4 确认 Node 环境是否安装成功。打开命令行,输入 node --version 或者 node -v

2. 解析执行 JavaScript

  打开命令行,用 cd 命令定位到要执行文件的位置所属目录

  或者 在要执行的文件目录下 右键 “Git Bash Here”

  或者  在要执行的文件目录下 按住Shift键点击右键  选择 “在此处打开 Power Shell窗口”

  或者  在Sublime Text3 中安装插件 Terminal,可以点击文件右键 “Open terminal here”

  然后,执行 node 文件名(注意:文件名不要使用node.js 来命名,最好也不要使用中文)。

  注意:此时脱离了浏览器,是 node 在执行。

3. Node 中的JavaScript

  ECMAScript、核心模块、第三方模块、用户自定义模块。

4. 一个页面怎么执行多个 JavaScript 文件?

  可以用 require(加载) 和 exports(导出)。

  require方法的两个作用:

    1)加载文件模块并执行里面的代码(但由于模块作用域,不能拿到其中的成员);

    2)拿到被加载文件模块导出的接口对象。

  exports:每个文件模块中都提供了一个对象exports,exports 默认是一个空对象。可以把需要被外部访问的成员挂载到 这个 exports 中。

  注意:相对路径必须加 ./ 上一级 ../  否则会报错,因为省略后会将其当成核心模块处理。文件后缀名可以省略。在 Node 中没有全局作用域,只有模块作用域,外部访问不到内部,内部也访问不到外部。

三、Web 服务器开发

1. IP 地址 和端口号

  1)IP 地址 用来定位计算机;端口号用来定位具体的应用程序。

  2)所有需要联网通信的应用程序都会占用一个端口号。

  3)端口号的范围在 0 - 65536 之间。

  4)可以同时开启多个服务,但一定要确保不同的服务占用不同的端口号,即在一台计算机中,同一个端口号同一时间只能被一个程序占用。

2. Content-Type

  不同的资源对应的 Content-Type 是不一样的,具体参照:http://tool.oschina.net/commons

  注意:对于文本类型的数据,最好都加上编码,目的是为了防止中文乱码。

3. 一些常用的API

  1)读取文件:readFile(要读取文件的路径, 回调函数)

  2)写文件:writeFile(文件路径, 文件内容, 回调函数)

  3)读取文件目录:readdir()

这篇关于Nodejs 学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!