• 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

    1. // 导出
    2. module.exports = {
    3. }

            

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

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

    1. var http = require("http")
    2. var fs = require("fs")
    3. var url = require("url")
    4. 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、如果还是没有找到 就去核心库中找

  • 相关阅读:
    【云原生之Docker实战】使用Docker部署Flarum开源论坛
    C++笔记之popen()和std_system()和std_async()执行系统命令比较
    面试官:如何提升应用的 Lighthouse 分数
    [论文阅读]MVF——基于 LiDAR 点云的 3D 目标检测的端到端多视图融合
    shiro中给某个接口添加权限的两种方法,若没有权限则返回特定值
    三分钟快速实现MQTT网关与三菱系列PLC远程通讯
    pgsl基于docker的安装
    mac安装nvm
    [附源码]计算机毕业设计基于Springboot作业管理系统
    ubuntu 爬虫任务相关常用命令
  • 原文地址:https://blog.csdn.net/z_2532040197/article/details/126088707