中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js的模塊化機制和Buffer對象是什么

發布時間:2022-02-24 09:14:53 來源:億速云 閱讀:138 作者:iii 欄目:開發技術

本篇內容主要講解“Node.js的模塊化機制和Buffer對象是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Node.js的模塊化機制和Buffer對象是什么”吧!

    一、Node.js的模塊化機制

    Node應用是由模塊組成的,Node遵循了CommonJS的模塊規范,來隔離每個模塊的作用域,使每個模塊在它自身的命名空間中執行。

    1、什么是CommonJS模塊規范

    CommonJS 是一套代碼規范, 目的是為了構建 JavaScript 在瀏覽器之外的生態系統 (服務器端, 桌面端).通過該規范使JavaScript具備開發復雜應用、跨平臺的能力

    2、CommonJS模塊規范化的內容

    (1)導出模塊:moudle.exports 導出模塊

    (2)導入模塊:require('模塊名稱')

    //創建一個demo.js
    module.exports.name = 'yunxi'
    module.exports.age = 78
    module.exports.getName = function(){
        console.log("姓名:",this.name);
    }
    module.exports.getAge = function(){
        console.log("年齡:",this.age);
    }
    //創建text.js進行測試
    const person = require('./demo')
    person.getName()
    person.getAge()
    //輸出:姓名: yunxi
    //     年齡: 78
    //創建text.js進行測試
    const person = require('./demo')
    person.getName()
    person.getAge()
    //輸出:姓名: yunxi
    //     年齡: 78
    //創建text.js,進行輸出測試
    const Person = require('./demo')
    const p1 = new Person('小王',39)
    const p2 = new Person('小趙',29)
    p1.getName()
    p1.getAge()
    console.log('---------------');
    p2.getName()
    p2.getAge()
    //    姓名: 小王
    //    年齡: 39
    //    ---------------
    //    姓名: 小趙
    //    年齡: 29

    3、每個導出的模塊都有一個moudle對象,該對象包含的屬性有:

    (1)moudle.exports:表示當前模塊對外輸出的接口,其他模塊引用的是moudle.exports導出的變量

    (2)exports變量:指向moudle.exports,為了操作的方便,它不能直接指向一個值

    4、使用require導入模塊

    導入并執行一個JavaScript文件,返回的是一個exports對象,若沒有找到相應的對象就報錯

    (1)模塊輸出是一個函數,則該函數的輸出接口不能用exports變量來導出,必須用戶moudle.exports導出

    (2)加載規則:

    • A、用來加載js文件,默認的文件擴展名為.js

    • B、根據參數的不同格式,去不同路徑下查找相應的js文件

      • './(../)':表示加載路徑是相對路徑

      • '/':表示加載路徑是絕對路徑

    既不是'./(../)'也不是'/':表示加載的模式是node的核心模塊,在node安裝路徑的node_modules中

    (3)require的內部處理的流程

    require -->module.exports-->moudle._load

    二、Buffer對象

    是一個Node中的全局對象,可以直接使用,不需要使用require導入。該對象提供了在Node中處理二進制數據的接口

    1、用來彌補JavaScript在二進制數據處理上不足。

    2、Buffer是一個構造函數

    Buffer對象是V8引擎分配的一段內存,類似數組,每個單元就是一個字節,存放的0~255之間的數據

    3、Buffer的基本操作:

    (1)創建:let bytes = new Buffer(size)

    (2)切片:bytes.slice(start,end)

    (3)拷貝:bytes.copy(目標緩沖區,目標緩沖區的起始位置,源緩沖區的起始位置,源緩沖區的結束位置)

    (4)Buffer和字符串之間的互換:支持的編碼格式(ascii碼、utf8)

    (5)Buffer和二進制數組的區別:

    A、二進制數組:

    Int8Array:-128~127

    Uint8Array:0~255

    Int16Array:-32768~32767

    UInt16Array:0~65535

    4、Buffer類:

    Buffer類是基于Uint8Array的,因此其值為0~255的整數數組

    到此,相信大家對“Node.js的模塊化機制和Buffer對象是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    夹江县| 辉南县| 峨眉山市| 韶关市| 定南县| 司法| 兖州市| 治县。| 中卫市| 铜梁县| 宁夏| 赫章县| 抚顺县| 漳平市| 东方市| 右玉县| 苏尼特左旗| 蒙阴县| 利川市| 大渡口区| 大英县| 宜阳县| 靖安县| 洛阳市| 卢龙县| 邢台县| 象州县| 吉安县| 花莲县| 虞城县| 清原| 望江县| 霍城县| 永新县| 榆林市| 桓台县| 彭阳县| 依兰县| 武汉市| 岑溪市| 那曲县|