美文网首页
Node JS基础

Node JS基础

作者: BlueSkyBlue | 来源:发表于2020-03-12 09:06 被阅读0次

进程和线程

进程:进程负责为程序的运行提供必备的环境。进程相当于工厂中的车间。
线程:线程是计算机中最小的计算单位。线程负责执行保存到进程中的程序。相当于工厂中的工人。

浏览器中的JS都是单线程的。

Node JS简介

Node JS是一种能够在服务器端运行JavaScript的开放源代码,跨平台的JavaScript运行环境。

Node采用的是Google开发的V8引擎运行JS代码。使用事件驱动,非阻塞和异步IO等技术来提高性能。可优化应用程序的传输量和规模。

Node服务器是单线程的,处理的请求也是单线程的,但是后台拥有一个I/O线程池。

CommonJS规范

ECMAScript的缺陷:

  • 没有模块系统
  • 标准库较少
  • 没有标准接口
  • 缺乏管理系统

模块化

如果程序设计的规模达到了一定的程度,则必须对其进行模块化。

模块化可以有多种形式,但至少能够将代码分为多个源文件的机制。

CommonJS的模块功能可以帮我们解决该问题。

CommonJS的提出主要是解决当前JavaScript没有标准的缺陷。CommonJS指定了一个美好的愿景,希望JS能在任何地方运行。

CommonJS对模块的定义十分简单:

  • 模块引用
  • 模块定义
  • 模块标识

在Node中一个js文件就是一个模块。

模块化的好处:

  • 降低耦合度
  • 方便代码复用

在Node中通过require函数引入外部的模块。
使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块。
在Node中每一个JS文件的JS代码都是独立运行在函数中,而不是全局作用域。所以一个模块中的函数和变量在其它模块中无法访问。也就是说每个模块对于其它模块都是封闭的。

不要往全局作用域中写东西,因为那会污染全局命名空间。

模块标识

我们使用require引入外部模块时使用的就是模块标识。可以通过模块标识找到指定的模块。
模块分为两大类:

  • 核心模块:Node引擎提供的模块。核心模块的标识就是模块的名字。
  • 文件模块:由用户自己创建的模块。模块标识就是文件的路径,可以是绝对路径也可以是相对路径。

在node中有一个全局对象global,它的作用和网页中的window类似。
在全局中创建的变量都会作为global的属性保存。
在全局中创建的函数都会作为global的方法保存。

Node执行模块中的代码时,它会首先在代码的最顶部添加如下代码:

function(exports, require, module, _filename, _dirname) {

在代码的最底部添加如下代码

}

实际上模块中的代码都是包装在一个函数中执行的。在函数执行时,传入了五个实参。

exports:用于将内部变量函数暴露到外部。
require:函数用于引入外部的模块。
module:代表当前模块本身。exports是module的属性。
_filename:当前模块的完整路径的名字。
_dirname:当前模块所在文件夹的完整路径。

相关文章

  • 前端Node.js 基础

    一 .Node.js 基础 目录 Node开发概述Node运行环境搭建Node.js快速入门 1. Node开发概...

  • React-Native 随笔

    学习基础: js的基础知识, rect.js基础 JSX语法基础 FlexBox布局 安装 安装node.js下载...

  • Node.js快刀篇

    Node.js概览 - Node.js大俗话,环境的安装和开发环境布署。 Node.js基础 - 事件机制和事件环...

  • Node.js 实战_1 Node基础

    Node 基础 ?JavaScript 是编程语言,而 Node.js 是执行环境。 Node.js 是一个基于 ...

  • Vue学习第一天

    基础知识 node 安装 Node(傻瓜式安装) npm基础 npm 之于 Node.js ,就像 pip 之于 ...

  • CentOS 7安装Node.js

    基础环境 Node.js版本:8.11.1 系统版本:CentOS 7.4.1708 X64 安装Node.js ...

  • Nodejs学习第5天

    Node.js内置基础模块fs, Node.js 提供了基础的文件操作,并同时提供文件的同步和异步操作,如: .....

  • 01-npm基本使用

    Node.js基础知识 npm命令基本使用 概念 什么是NPM(node.js package managemen...

  • webpack+sass+vue 入门教程(一)

    一、安装node.js node.js是基础,必须先安装。而且最新版的node.js,已经集成了npm。下载地址n...

  • Express学习 - 路由

    在Express学习 - hello world,知道了Express是在Node.js的基础之上对Node.js...

网友评论

      本文标题:Node JS基础

      本文链接:https://www.haomeiwen.com/subject/wqzsjhtx.html