Node.JS(2)--使用node执行js文件

目录

知识回顾

CommentJS规范

ECMAScript标准规范

模块化

CommonJS规范

模块化


知识回顾

I/O (Input/output)

        I/O操作指的是对磁盘的读写操作

Node

  • Node是对ES标准一个实现,Node也是一个JS引擎
  • 通过Node可以使js代码在服务器端执行
  • Node仅仅对ES标准进行了实现,所以在Node中不包含DOM和 BOM
  • Node中可以使用所有的内建对象

        string Number Boolean Math Date RegExp Function object Array

        而BOM和DOM都不能使用,但是可以使用console也可以使用定时器(setTimeout () setInterval() )

Node可以在后台来编写服务器

Node编写服务器都是单线程的服务器

进程

进程就是一个一个的工作计划(工厂中的车间)

线程

线程是计算机最小的运算单位(工厂中的工人),线程是千活的

传统的服务器都是多线程的

每进来一个请求,就创建一个线程去处理请求

Node处理请求时是单线程,但是在后台拥有一个I/O线程池

CommentJS规范

ECMAScript标准规范

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

模块化

  • 如果程序设计的规模达到了一定程度,则必须对其进行模块化。
  • 模块化可以有多种形式,但至少应该提供能够将代码分割为多个源文件的机制。
  • CommonJS的模块功能可以帮我们解决该问题。

CommonJS规范

  • CommonJS规范的提出,主要是为了弥补当前JavaScript没有标崔的缺陷。
  • CommonJS规范为JS指定了一个美好的愿景,希望JS能够在任何地方运行。

CommonJS对模块的定义十分简单

模块引用

模块定义

模块标识

模块化

  • 在Node中,一个js文件就是一个模块
  • 在Node中,每一个js文件中的js代码就是独立运行在函数中,而不是全局作用域,就相当于一个闭包,所以一个模块的变量和函数在其他模块中无法访问

Node.JS(2)--使用node执行js文件_第1张图片

 就相当于下图,闭包中的变量和函数不能被外面的函数或者操作访问

Node.JS(2)--使用node执行js文件_第2张图片

如果想对外部的模块访问到,可以通过exports来向外部暴露变量和方法

向外部暴露属性或方法

exports.x=20;
    exports.y=100;

    exports.fn=function(){

    }

 Node.JS(2)--使用node执行js文件_第3张图片

 引入其他的模块

在node中,通过require()函数来引入外部的模块,require()可以传递一个文件的路径作为参数,node将会自动根据该路径来引入外部模块;如果使用相对路径,必须用.或者..开头

使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块

你可能感兴趣的:(Node.JS,node.js,javascript)