node.js 简介 以及 模块化 的介绍

nodejs简介

        概述:

        Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHPPythonPerlRuby等服务端语言平起平坐的脚本语言

        概述起来就是:nodejs是一个基于Chrome v8引擎设计的单线程基于事件驱动非阻塞I/O模型的的一个js运行环境。

        特点:

        1、单线程 : node.js的主线程也就是程序员写的js代码是Chrome V8引擎执行的,但它提供的异步函数是由底层c/c++语言来开启线程执行的。

        2、非阻塞的I/O模型:  Node.js 中使用事件回调的方式来解决阻塞 I/O 的情况,避免了阻塞 I/O 所需的等待。

        3、基于事件驱动(回调函数):  node.js把任务添加到事件池(event-loop),让异步任务去子线程中执行 , 然后注册一个事件 ,任务执行完毕以后 就回到主线程执行回调函数

        4、模块化:   node.js把功能按照模块来封装, 方便扩展 、维护管理,  更有利于开发大型项目

      优缺点:

        优点: 使用事件驱动、非阻塞I/O模型,异步编程,性能好速度快,资源占用小等

        缺点:  单线程,一个进程崩掉,整个服务停止;安全性不高

模块化

        概念:nodejs中的模块化是指将每个js文件会被认为单独一个的模块。模块之间是互相不可见的。如果一个模块需要使用另一个模块,那么需要通过指定语法来引入要使用的模块

        

        nodejs运行时,要引入第三方js文件就使用 require() ;也可以使用ES6中的语法 import

var 变量名 = require("要引入的文件")

        nodejs导出文件使用 module.exports

// 导出
module.exports = {
   
}

        

        nodejs中有三种模块:内置模块第三方模块自定义模块

        内置模块:不需要单独下载,node.js安装时就已下好,使用时直接用require引入

var http = require("http")
var fs = require("fs")
var url = require("url")
var querystring = require("querystring")

      第三方模块:需要下载使用,下载指令:npm i 下载的模块名

var mime = require("mime")

       自定义模块: 自己定义的js功能模块,用 module.exports 导出;

var myquerystring = require("./myquerystring.js") 

node.js执行require() 时,经历的过程:

        1、先去当前项目中的node_modules文件夹中找要引入的文件夹 中的package.json中main字段对应的路径 然后引入
        2、如果没有就去nodejs的安装包中的全局安装路径中找
        3、如果还是没有找到 就去核心库中找

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z_小张同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值