一文详解如何使用node执行js文件
作者:花京院嚯
Node.js开发者过去通常将大多数可执行命令发布为全局的软件包,以使它们处于路径中且可被立即地执行,下面这篇文章主要给大家介绍了关于如何使用node执行js文件的相关资料,需要的朋友可以参考下
知识回顾
I/O (Input/output)
I/O操作指的是对磁盘的读写操作
Node
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代码就是独立运行在函数中,而不是全局作用域,就相当于一个闭包,所以一个模块的变量和函数在其他模块中无法访问
就相当于下图,闭包中的变量和函数不能被外面的函数或者操作访问
如果想对外部的模块访问到,可以通过exports来向外部暴露变量和方法
向外部暴露属性或方法
exports.x=20; exports.y=100; exports.fn=function(){ }
引入其他的模块
在node中,通过require()函数来引入外部的模块,require()可以传递一个文件的路径作为参数,node将会自动根据该路径来引入外部模块;如果使用相对路径,必须用.或者..开头
使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块
总结
到此这篇关于如何使用node执行js文件的文章就介绍到这了,更多相关node执行js文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!