国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon

這篇具有很好參考價(jià)值的文章主要介紹了Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon.

1 簡介

什么是 Node.js,有什么用,為何能獨(dú)立執(zhí)行 JS 代碼,演示安裝和執(zhí)行 JS 文件內(nèi)代碼?

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器
  • Node.js 是一個(gè)獨(dú)立的 JavaScript 運(yùn)行環(huán)境,能獨(dú)立執(zhí)行 JS 代碼,因?yàn)檫@個(gè)特點(diǎn),它可以用來編寫服務(wù)器后端的應(yīng)用程序

    在**傳統(tǒng)Web開發(fā)中,瀏覽器就是JavaScript的運(yùn)行時(shí)環(huán)境**,因?yàn)樗峁┝藞?zhí)行JavaScript代碼的環(huán)境、DOM(文檔對象模型)用于操作網(wǎng)頁結(jié)構(gòu)、以及BOM(瀏覽器對象模型)用于與瀏覽器交互等功能。

    **Node.js也是JavaScript的一種運(yùn)行時(shí)環(huán)境,但它是在服務(wù)器端運(yùn)行的。**Node.js使用了Chrome V8引擎,**這是一個(gè)高性能的JavaScript引擎,用于解釋和執(zhí)行JavaScript代碼。**Node.js為JavaScript提供了訪問文件系統(tǒng)、處理網(wǎng)絡(luò)請求、操作數(shù)據(jù)庫等服務(wù)器端功能的能力,使得JavaScript可以在服務(wù)器端執(zhí)行。

    Node.js 與瀏覽器環(huán)境的 JS 最大區(qū)別:Node.js 環(huán)境中沒有 BOM 和 DOM,但是也用 JS 語法

  • Node.js 基于Chrome V8 引擎封裝,獨(dú)立執(zhí)行 JS 代碼,但是語法和瀏覽器環(huán)境的 V8 有所不同,沒有 document 和 window 但是都支持 ECMAScript 標(biāo)準(zhǔn)的代碼語法

  • Node.js 作用除了編寫后端應(yīng)用程序,也可以對前端代碼進(jìn)行壓縮,轉(zhuǎn)譯,整合等等,提高前端開發(fā)和運(yùn)行效率

  • Node.js 沒有圖形化界面,需要使用 cmd 終端命令行(利用一些命令來操控電腦執(zhí)行某些程序軟件)輸入,node -v 檢查是否安裝成功

    Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

  • Node.js 執(zhí)行目標(biāo) JS 文件,需要使用 node xxx.js 命令來執(zhí)行

    運(yùn)行下列js代碼

    /**
     * 目標(biāo):編寫 js 代碼,用 node 命令執(zhí)行
     * 終端作用:敲擊命令,調(diào)用對應(yīng)程序執(zhí)行
     * 終端打開:目標(biāo)文件->右鍵->在集成終端中打開
     * 命令:node xxx.js (注意路徑)
     */
    console.log('Hello, World')
    for (let i = 0; i < 3; i++) {
      console.log(6)
    }
    

    Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

2 fs模塊-讀寫文件

使用 fs 模塊封裝的方法,可以讀寫文件內(nèi)容

2.1 語法

  • 加載 fs 模塊,得到 fs 對象

    const fs = require('fs')
    
  • 寫入文件內(nèi)容語法:

    fs.writeFile('文件路徑', '寫入內(nèi)容', err => {
      // 寫入后的回調(diào)函數(shù)
    })
    
  • 讀取文件內(nèi)容的語法:

    fs.readFile('文件路徑', (err, data) => {
      // 讀取后的回調(diào)函數(shù)
      // data 是文件內(nèi)容的 Buffer 數(shù)據(jù)流
    })
    

2.2 需求案例

向 test.txt 文件寫入內(nèi)容并讀取打印

/**
 * 目標(biāo):使用 fs 模塊,讀寫文件內(nèi)容
 * 語法:
 * 1. 引入 fs 模塊
 * 2. 調(diào)用 writeFile 寫入內(nèi)容
 * 3. 調(diào)用 readFile  讀取內(nèi)容
 */
// 1. 引入 fs 模塊
const fs = require('fs')
// 2. 調(diào)用 writeFile 寫入內(nèi)容
// 注意:建議寫入字符串內(nèi)容,會覆蓋目標(biāo)文件所有內(nèi)容
fs.writeFile('./text.txt', '歡迎使用 fs 模塊讀寫文件內(nèi)容', err => {
  if (err) console.log(err)
  else console.log('寫入成功')
})
// 3. 調(diào)用 readFile  讀取內(nèi)容
fs.readFile('./text.txt', (err, data) => {
  if (err) console.log(err)
  else console.log(data.toString()) // 把 Buffer 數(shù)據(jù)流轉(zhuǎn)成字符串類型
})

運(yùn)行效果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

3 path模塊-路徑處理

使用 path 模塊來得到絕對路徑

3.1 注意

在 Node.js 待執(zhí)行的 JS 代碼中要用絕對路徑

Node.js 執(zhí)行 JS 代碼時(shí),代碼中的路徑都是以終端所在文件夾出發(fā)查找相對路徑,而不是以我們認(rèn)為的從代碼本身出發(fā),會遇到問題,所以在 Node.js 要執(zhí)行的代碼中,訪問其他文件,建議使用絕對路徑

3.2 需求案例

訪問外層的文件

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

如果使用../text.txt解析路徑,找不到目標(biāo)文件,會報(bào)錯。

使用模塊內(nèi)置變量 __dirname配合 path.join() 來得到絕對路徑使用

const fs = require('fs')
console.log(__dirname) // E:\FilesForTest\Node_js\js

// 1. 加載 path 模塊
const path = require('path')
// 2. 使用 path.join() 來拼接路徑
const pathStr = path.join(__dirname, '..', 'text.txt')
console.log(pathStr) //E:\FilesForTest\Node_js\text.txt

fs.readFile(pathStr, (err, data) => {
  if (err) console.log(err)
  else console.log(data.toString())
})

3.3 join函數(shù)

join 函數(shù)是一個(gè)用于拼接路徑的方法。join 方法接受多個(gè)參數(shù)然后根據(jù)操作系統(tǒng)的規(guī)范將它們拼接成一個(gè)完整的路徑字符串。

(具體來說,它會使用當(dāng)前操作系統(tǒng)的路徑分隔符(在Unix系統(tǒng)上是 /,在Windows系統(tǒng)上是 \ 將參數(shù)連接起來)

const fullPath = path.join([...paths]);//paths: 一個(gè)或多個(gè)路徑片段,用逗號分隔。
const path = require('path');

// 例子1:拼接路徑
const resultPath = path.join('/path', 'to', 'your', 'directory', 'file.txt');
console.log(resultPath);
// 輸出 (Unix): /path/to/your/directory/file.txt
// 輸出 (Windows): \path\to\your\directory\file.txt

// 例子2:使用__dirname拼接路徑
const currentPath = __dirname;
const filePath = path.join(currentPath, 'file.txt');
console.log(filePath);
// 輸出 (Unix): /current/directory/file.txt
// 輸出 (Windows): \current\directory\file.txt

在路徑拼接中,'..' 表示上一級目錄,而 path.join 方法會自動處理這個(gè)部分,確保生成的路徑是規(guī)范的。

其他特殊:

  • 處理絕對路徑: 如果拼接的路徑中出現(xiàn)絕對路徑(以斜杠 / 或根目錄開始),path.join 會忽略之前的路徑片段,直接返回絕對路徑。

    const path = require('path');
    
    const resultPath = path.join('/path', 'to', 'your', 'directory', '/file.txt');
    console.log(resultPath);
    // 輸出 (Unix): /file.txt
    // 輸出 (Windows): \file.txt
    
  • 處理多個(gè)斜杠或反斜杠: path.join 會處理多個(gè)斜杠或反斜杠,確保生成的路徑中只包含一個(gè)路徑分隔符。

    const path = require('path');
    
    const resultPath = path.join('/path/', '/to', 'your//directory', 'file.txt');
    console.log(resultPath);
    // 輸出 (Unix): /path/to/your/directory/file.txt
    // 輸出 (Windows): \path\to\your\directory\file.txt
    
  • 處理點(diǎn)號: 如果路徑中包含單個(gè)點(diǎn)號 .,path.join 會將其解釋為當(dāng)前目錄,忽略它。

    const path = require('path');
    
    const resultPath = path.join('/path', 'to', 'your', '.', 'file.txt');
    console.log(resultPath);
    // 輸出 (Unix): /path/to/your/file.txt
    // 輸出 (Windows): \path\to\your\file.txt
    
  • 處理空字符串: 如果路徑片段中包含空字符串 '',path.join 會忽略它。

    const path = require('path');
    
    const resultPath = path.join('/path', '', 'to', 'your', 'directory', 'file.txt');
    console.log(resultPath);
    // 輸出 (Unix): /path/to/your/directory/file.txt
    // 輸出 (Windows): \path\to\your\directory\file.txt
    

3.4 壓縮前端html(案例)

壓縮前端代碼,體驗(yàn)前端工程化的例子

前端工程化:前端代碼壓縮,整合,轉(zhuǎn)譯,測試,自動部署等等工具的集成統(tǒng)稱,為了提高前端開發(fā)項(xiàng)目的效率

壓縮HTML文件有幾個(gè)主要的原因:

  1. 減小文件大?。?/strong> 壓縮HTML可以顯著減小文件大小,從而提高頁面加載速度。這對于移動設(shè)備和慢速網(wǎng)絡(luò)的用戶尤為重要,因?yàn)檩^小的文件可以更快地下載和渲染。
  2. 提高頁面加載速度: 減小HTML文件的大小意味著瀏覽器需要更少的時(shí)間來下載和解析頁面。這對于提高網(wǎng)站性能、減少頁面加載時(shí)間和提升用戶體驗(yàn)非常重要。

壓縮html頁面可以使用模塊:html-minifier(可以使用npm下載)

3.4.1 替換字符串壓縮
/**
 * 目標(biāo)一:壓縮 html 里代碼
 * 需求:把 public/index.html 里的,回車/換行符去掉,寫入到 dist/index.html 中
 *  1.1 讀取 public/index.html 內(nèi)容
 *  1.2 使用正則替換內(nèi)容字符串里的,回車符\r 換行符\n
 *  1.3 確認(rèn)后,寫入到 dist/index.html 內(nèi)
 */
const fs = require('fs')
const path = require('path')
// 1.1 讀取 原h(huán)tml 內(nèi)容
fs.readFile(path.join('原h(huán)tml路徑'), (err, data) => {
  const htmlStr = data.toString()
  // 1.2 使用正則替換內(nèi)容字符串里的,回車符\r 換行符\n
  const resultStr = htmlStr.replace(/[\r\n]/g, '')
  // 1.3 確認(rèn)后,寫入到 dist/index.html 內(nèi)
  fs.writeFile(path.join('壓縮后的html路徑'), resultStr, err => {
    if (err) console.log(err)
    else console.log('壓縮成功')
  })
})
3.4.2 用html-minifier壓縮

下載模塊

npm install -g html-minifier

代碼編寫

const fs = require('fs');
const minify = require('html-minifier').minify;

// 讀取原始HTML文件
const originalHtml = fs.readFileSync('E:/FilesForTest/Node_js/js/test.html', 'utf8');

// 配置壓縮選項(xiàng)
const minifyOptions = {
  collapseWhitespace: true,
  removeComments: true,
  minifyJS: true,
  minifyCSS: true,
  // 更多選項(xiàng)可以在html-minifier文檔中找到:https://www.npmjs.com/package/html-minifier
};

// 壓縮HTML
const compressedHtml = minify(originalHtml, minifyOptions);

// 將壓縮后的HTML寫入新文件
fs.writeFileSync('E:/FilesForTest/Node_js/js/test2.html', compressedHtml, 'utf8');

console.log('HTML壓縮完成');

壓縮效果對比:

壓縮前:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

壓縮后:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

4 http模塊-創(chuàng)建Web服務(wù)

使用內(nèi)置 http 模塊,創(chuàng)建 Web 服務(wù)程序

4.1 Web 服務(wù)程序入門

需求:引入 http 模塊,使用相關(guān)語法,創(chuàng)建 Web 服務(wù)程序,響應(yīng)返回給請求方一句提示 ‘hello,world’

步驟:

  • 引入 http 模塊,創(chuàng)建 Web 服務(wù)對象
  • 監(jiān)聽 request 請求事件,對本次請求,做一些響應(yīng)處理
  • 啟動 Web 服務(wù)監(jiān)聽對應(yīng)端口號
  • 運(yùn)行本服務(wù)在終端進(jìn)程中,用瀏覽器發(fā)起請求

代碼:

/**
 * 目標(biāo):基于 http 模塊創(chuàng)建 Web 服務(wù)程序
 *  1.1 加載 http 模塊,創(chuàng)建 Web 服務(wù)對象
 *  1.2 監(jiān)聽 request 請求事件,設(shè)置響應(yīng)頭和響應(yīng)體
 *  1.3 配置端口號并啟動 Web 服務(wù)
 *  1.4 瀏覽器請求(http://localhost:3000)測試
 */
// 1.1 加載 http 模塊,創(chuàng)建 Web 服務(wù)對象
const http = require('http')
const server = http.createServer()
// 1.2 監(jiān)聽 request 請求事件,設(shè)置響應(yīng)頭和響應(yīng)體
server.on('request', (req, res) => {
  // 設(shè)置響應(yīng)頭-內(nèi)容類型-普通文本以及中文編碼格式
  res.setHeader('Content-Type', 'text/plain;charset=utf-8')
  // 設(shè)置響應(yīng)體內(nèi)容,結(jié)束本次請求與響應(yīng)
  res.end('歡迎使用 Node.js 和 http 模塊創(chuàng)建的 Web 服務(wù)')
})
// 1.3 配置端口號并啟動 Web 服務(wù)
server.listen(3000, () => {
  console.log('Web 服務(wù)啟動成功了')
})

運(yùn)行效果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

4.2 瀏覽時(shí)鐘(案例)

Web 服務(wù)除了接口數(shù)據(jù)以外,還能返回網(wǎng)頁資源

需求:基于 Web 服務(wù),開發(fā)提供網(wǎng)頁資源的功能

步驟:

  • 基于 http 模塊,創(chuàng)建 Web 服務(wù)
  • 使用 req.url 獲取請求資源路徑為 /index.html 的時(shí)候,讀取 index.html 文件內(nèi)容字符串返回給請求方
  • 其他路徑,暫時(shí)返回不存在的提示
  • 運(yùn)行 Web 服務(wù),用瀏覽器發(fā)起請求

代碼:

/**
 * 目標(biāo):編寫 web 服務(wù),監(jiān)聽請求的是 /index.html 路徑的時(shí)候,返回 dist/index.html 時(shí)鐘案例頁面內(nèi)容
 * 步驟:
 *  1. 基于 http 模塊,創(chuàng)建 Web 服務(wù)
 *  2. 使用 req.url 獲取請求資源路徑,并讀取 index.html 里字符串內(nèi)容返回給請求方
 *  3. 其他路徑,暫時(shí)返回不存在提示
 *  4. 運(yùn)行 Web 服務(wù),用瀏覽器發(fā)起請求
 */
const fs = require('fs')
const path = require('path')
// 1. 基于 http 模塊,創(chuàng)建 Web 服務(wù)
const http = require('http')
const server = http.createServer()
server.on('request', (req, res) => {
  // 2. 使用 req.url 獲取請求資源路徑,并讀取 index.html 里字符串內(nèi)容返回給請求方
  if (req.url === '/index.html') {
    fs.readFile(path.join(__dirname, 'dist/index.html'), (err, data) => {
      res.setHeader('Content-Type', 'text/html;charset=utf-8')
      res.end(data.toString())
    })
  } else {
    // 3. 其他路徑,暫時(shí)返回不存在提示
    res.setHeader('Content-Type', 'text/html;charset=utf-8')
    res.end('你要訪問的資源路徑不存在')
  }
})
server.listen(8080, () => {
  console.log('Web 服務(wù)啟動了')
})

運(yùn)行效果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

5 Node.js模塊化

5.1 模塊化簡介

  • 在 Node.js 中每個(gè)文件都被當(dāng)做是一個(gè)獨(dú)立的模塊,模塊內(nèi)定義的變量函數(shù)都是獨(dú)立作用域的,因?yàn)?Node.js 在執(zhí)行模塊代碼時(shí),將使用如下所示的函數(shù)封裝器對其進(jìn)行封裝;

    Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

  • 而且項(xiàng)目是由多個(gè)模塊組成的,每個(gè)模塊之間都是獨(dú)立的,而且提高模塊代碼復(fù)用性,按需加載,獨(dú)立作用域;

    Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

  • 但是因?yàn)?strong>模塊內(nèi)的屬性和函數(shù)都是私有的,如果對外使用,需要使用標(biāo)準(zhǔn)語法導(dǎo)出和導(dǎo)入才可以,而這個(gè)標(biāo)準(zhǔn)叫 CommonJS 標(biāo)準(zhǔn)。


案例:定義 utils.js 模塊,封裝基地址和求數(shù)組總和的函數(shù),導(dǎo)入到 index.js 使用查看效果

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

CommonJS 標(biāo)準(zhǔn):

導(dǎo)出語法(寫在utils.js中):

導(dǎo)出的內(nèi)容 ,需要用語法說明!

module.exports = {
對外屬性名: 模塊內(nèi)私有變量
}

導(dǎo)入語法(寫在index.js中):

const 變量名 = require('模塊名或路徑')
// Node.js 環(huán)境內(nèi)置模塊直接寫模塊名(例如:fs,path,http)
// 自定義模塊:寫模塊文件路徑(例如:./utils.js)

代碼實(shí)現(xiàn):

  • utils.js:導(dǎo)出

    /**
     * 目標(biāo):基于 CommonJS 標(biāo)準(zhǔn)語法,封裝屬性和方法并導(dǎo)出
     */
    const baseURL = 'http://hmajax.itheima.net' //定義的一個(gè)常量,可以方便的使用這個(gè)url
    const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)
    
    // 導(dǎo)出
    module.exports = {
      url: baseURL,
      arraySum: getArraySum
    }
    
  • index.js:導(dǎo)入使用

    /**
     * 目標(biāo):基于 CommonJS 標(biāo)準(zhǔn)語法,導(dǎo)入工具屬性和方法使用
     */
    // 導(dǎo)入
    const obj = require('./utils.js')
    console.log(obj)
    const result = obj.arraySum([5, 1, 2, 3])
    console.log(result)
    

運(yùn)行結(jié)果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

注意:

模塊名/路徑如何選擇 ?

內(nèi)置模塊:寫名字。例如:fs,path,http等。自定義模塊:寫模塊文件路徑,例如:./utils.js

5.2 ECMAScript標(biāo)準(zhǔn)-默認(rèn)導(dǎo)出和導(dǎo)入

ECMAScript 標(biāo)準(zhǔn)語法中,默認(rèn)導(dǎo)出和導(dǎo)入的使用

CommonJS 規(guī)范是 Node.js 環(huán)境中默認(rèn)的,后來官方推出 ECMAScript 標(biāo)準(zhǔn)語法


案例:封裝并導(dǎo)出基地址和求數(shù)組元素和的函數(shù),導(dǎo)入到 index.js 使用查看效果

導(dǎo)出語法:

export default {
對外屬性名: 模塊內(nèi)私有變量
}

導(dǎo)入語法:

import 變量名 from '模塊名或路徑'

變量名的值接收的就是目標(biāo)模塊導(dǎo)出的對象

注意:Node.js 默認(rèn)只支持 CommonJS 標(biāo)準(zhǔn)語法,如果想要在當(dāng)前項(xiàng)目環(huán)境下使用 ECMAScript 標(biāo)準(zhǔn)語法,請新建 package.json 文件設(shè)置 type: ‘module’ 來進(jìn)行設(shè)置

{ “type”: "module" }

否則會報(bào)錯:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

但是如果加上了{ “type”: "module" },就不可以使用require這種在CommonJS script才可以直接使用的指令,不然也會報(bào)相關(guān)錯誤:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

沒有package.json文件怎么辦?

使用 npm init指令 新建一個(gè);然后它會引導(dǎo)你輸入配置的信息,括號中的即為默認(rèn)信息,點(diǎn)擊回車即可確認(rèn)

或者使用**npm init -y**

-y 就是所有選項(xiàng)用默認(rèn)值,所在文件夾不要有中文/特殊符號,建議英文和數(shù)字組成,因?yàn)?npm 包名限制建議用英文和數(shù)字或者下劃線中劃線

代碼實(shí)現(xiàn):

  • utils.js:導(dǎo)出

    /**
     * 目標(biāo):基于 ECMAScript 標(biāo)準(zhǔn)語法,封裝屬性和方法并"默認(rèn)"導(dǎo)出
     */
    const baseURL = 'http://hmajax.itheima.net'
    const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)
    
    // 默認(rèn)導(dǎo)出
    export default {
      url: baseURL,
      arraySum: getArraySum
    }
    
  • index.js:導(dǎo)入

    /**
     * 目標(biāo):基于 ECMAScript 標(biāo)準(zhǔn)語法,"默認(rèn)"導(dǎo)入,工具屬性和方法使用
     */
    // 默認(rèn)導(dǎo)入
    import obj from './utils.js'
    console.log(obj)
    const result = obj.arraySum([10, 20, 30])
    console.log(result)
    
  • package.json文件夾

    {
      "dependencies": {
        "html-minifier": "^4.0.0"
      },
      "type": "module"
    }
    

實(shí)現(xiàn)效果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

5.3 ECMAScript標(biāo)準(zhǔn)-命名導(dǎo)出和導(dǎo)入

掌握 ECMAScript 標(biāo)準(zhǔn)語法中,命名導(dǎo)出和導(dǎo)入的使用


案例:封裝并導(dǎo)出基地址和數(shù)組求和函數(shù),導(dǎo)入到 index.js 使用查看效果

命名導(dǎo)出語法

export 修飾定義語句

命名導(dǎo)入語法

import { 同名變量 } from '模塊名或路徑'

注意:同名變量指的是模塊內(nèi)導(dǎo)出的變量名

默認(rèn)導(dǎo)出如何選擇?

  • 按需加載,使用命名導(dǎo)出和導(dǎo)入
  • 全部加載,使用默認(rèn)導(dǎo)出和導(dǎo)入

代碼示例:

  • utils.js 導(dǎo)出

    /**
     * 目標(biāo):基于 ECMAScript 標(biāo)準(zhǔn)語法,封裝屬性和方法并"命名"導(dǎo)出
     */
    export const baseURL = 'http://hmajax.itheima.net'
    export const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)
    
    
  • index.js 導(dǎo)入

    /**
     * 目標(biāo):基于 ECMAScript 標(biāo)準(zhǔn)語法,"命名"導(dǎo)入,工具屬性和方法使用
     */
    // 命名導(dǎo)入
    import {baseURL, getArraySum} from './utils.js'
    console.log(baseURL)
    console.log(getArraySum)
    const result = getArraySum([10, 21, 33])
    console.log(result)
    

實(shí)現(xiàn)效果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

5.4 包的概念

了解 Node.js 環(huán)境中包的概念


  • 包:將模塊,代碼,其他資料整合成一個(gè)文件夾,這個(gè)文件夾就叫包

    這里的模塊就像是下面的lib

  • 包分類:

    • 項(xiàng)目包:主要用于編寫項(xiàng)目和業(yè)務(wù)邏輯
    • 軟件包:封裝工具和方法進(jìn)行使用
  • 包要求:根目錄中,必須有 package.json 文件記錄包的清單信息

    Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

    Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

  • 包使用:在引入一個(gè)包文件夾到代碼中,默認(rèn)引入的是包文件節(jié)下的 index.js 模塊文件里導(dǎo)出的對象,如果沒有 index.js 文件,則會引入 package.json 里 main 屬性指定的文件模塊導(dǎo)出的對象


需求:封裝數(shù)組求和函數(shù)的模塊,封裝判斷用戶名和密碼長度函數(shù)的模塊,形成一個(gè)軟件包,并導(dǎo)入到 index.js 中使用查看效果

代碼示例:

項(xiàng)目結(jié)構(gòu)及其代碼編寫:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

實(shí)現(xiàn)效果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

錯誤:在指令中運(yùn)行的index.js所在的包描述的json文件中可能存在{ “type”: "module" },就不能直接使用require這樣的語法從而導(dǎo)致報(bào)錯

5.5 npm軟件包管理器

npm:軟件包管理器,用于下載和管理 Node.js 環(huán)境中的軟件包

下載軟件包指令:

npm i <package-name>

需求:使用 npm 下載 dayjs 軟件包到本地項(xiàng)目文件夾中,引入到 index.js 中格式化日期打印,運(yùn)行觀察效果

其使用流程圖如下:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

下載好包之后的json文件:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

相關(guān)代碼:

/**
 * 目標(biāo):使用 npm 下載 dayjs 軟件包來格式化日期時(shí)間
 *  1. (可選)初始化項(xiàng)目清單文件,命令:npm init -y
 *  2. 下載軟件包到當(dāng)前項(xiàng)目,命令:npm i 軟件包名稱
 *  3. 使用軟件包
 */
// 3. 使用軟件包
const dayjs = require('dayjs')
const nowDateStr = dayjs().format('YYYY-MM-DD')
console.log(nowDateStr)

運(yùn)行結(jié)果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

5.6 npm安裝所有依賴

我們拿到了一個(gè)別人編寫的項(xiàng)目,但是沒有 node_modules,項(xiàng)目能否正確運(yùn)行?

不能,因?yàn)槿鄙倭隧?xiàng)目需要的依賴軟件包,比如要使用 dayjs 和 lodash 但是你項(xiàng)目里沒有這個(gè)對應(yīng)的源碼,項(xiàng)目會報(bào)錯的

如何得到需要的所有依賴軟件包呢?

直接在項(xiàng)目目錄下,運(yùn)行終端命令:npm i 即可安裝 package.json 里記錄的所有包和對應(yīng)版本到本項(xiàng)目中的 node_modules


需求:安裝項(xiàng)目所有需要的依賴軟件包,并運(yùn)行 index.js 代碼

{
  "dependencies": {
    "dayjs": "^1.11.10",
    "html-minifier": "^4.0.0",
    "lodash": "^4.17.21"
  }
}

運(yùn)行代碼:

/**
 * 目標(biāo):安裝所有依賴軟件包
 * 場景:一般拿到別人的項(xiàng)目后,只有 package.json 缺少 node_modules 時(shí)需要做
 * 語法:在當(dāng)前項(xiàng)目終端下,輸入命令:npm i
 * 效果:會根據(jù) package.json 記錄的所有包和版本開始下載
 */

// 格式化日期
const dayjs = require('dayjs')
const nowDateStr = dayjs().format('YYYY-MM-DD')
console.log(nowDateStr)

// 求數(shù)組里最大值
const _ = require('lodash')
console.log(_.max([1, 2, 8, 3, 4, 5]))

運(yùn)行結(jié)果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

5.7 npm全局軟件包 - nodemon

掌握本地軟件包和全局軟件包區(qū)別,體驗(yàn) nodemon 的使用


  1. 軟件包區(qū)別:

    • 本地軟件包:當(dāng)前項(xiàng)目內(nèi)使用,封裝屬性和方法,存在于 node_modules
    • 全局軟件包:本機(jī)所有項(xiàng)目使用,封裝命令和工具,存在于系統(tǒng)設(shè)置的位置
  2. nodemon 作用:替代 node 命令,檢測代碼更改,自動重啟程序

  3. 使用:

    1. 安裝:npm i nodemon -g (-g 代表安裝到全局環(huán)境中)
    2. 運(yùn)行:nodemon 待執(zhí)行的目標(biāo) js 文件

需求:使用 nodemon 命令來啟動素材里準(zhǔn)備好的項(xiàng)目,然后修改代碼保存后,觀察終端重啟應(yīng)用程序

報(bào)錯:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

這個(gè)錯誤通常是由于Windows系統(tǒng)安全策略導(dǎo)致的,系統(tǒng)會默認(rèn)阻止運(yùn)行某些腳本文件。系統(tǒng)阻止某些腳本運(yùn)行,是為了保護(hù)系統(tǒng)不被惡意腳本入侵。

解決:在指令前加上npx,即npm nodemon calen.js

npx 是 Node.js 包管理器(npm)的一部分,用于執(zhí)行包安裝時(shí)附帶的可執(zhí)行文件,它的作用是在不全局安裝軟件包的情況下運(yùn)行其命令,npx 會在本地的 node_modules/.bin 目錄中查找并執(zhí)行特定軟件包的命令。

在 Windows 系統(tǒng)中,有時(shí)默認(rèn)情況下會阻止運(yùn)行某些腳本文件,這是因?yàn)?Windows 設(shè)定了執(zhí)行策略,限制了從未知來源或未經(jīng)授權(quán)的腳本文件的執(zhí)行。npx 可以通過以下方式解決這個(gè)問題:

  1. 臨時(shí)性執(zhí)行: 使用 npx 執(zhí)行命令時(shí),它會在本地的 node_modules/.bin 目錄中查找對應(yīng)的可執(zhí)行文件,并**臨時(shí)性地執(zhí)行,而無需全局安裝。這繞過了一些系統(tǒng)對于全局安裝腳本的限制**。
  2. 尊重執(zhí)行策略: npx 會尊重系統(tǒng)的執(zhí)行策略,因此如果某個(gè)腳本需要執(zhí)行權(quán)限,它會提示用戶是否授予執(zhí)行權(quán)限。這種方式可以幫助確保用戶對于腳本的執(zhí)行有更多的控制。

運(yùn)行效果:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

5.8 總結(jié)

Node.js 模塊化:把每個(gè)文件當(dāng)做一個(gè)模塊,獨(dú)立作用域,按需加載,使用特定標(biāo)準(zhǔn)語法導(dǎo)出和導(dǎo)入使用

CommonJS 標(biāo)準(zhǔn):一般應(yīng)用在 Node.js 項(xiàng)目環(huán)境

ECMAScript 標(biāo)準(zhǔn):一般應(yīng)用在前端工程化項(xiàng)目中

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

Node.js 包:把模塊文件,代碼文件,其他資料聚合成一個(gè)文件夾就是包

項(xiàng)目包:編寫項(xiàng)目需求和業(yè)務(wù)邏輯的文件夾

軟件包:封裝工具和方法進(jìn)行使用的文件夾(一般使用 npm 管理)

  • 本地軟件包:作用在當(dāng)前項(xiàng)目,封裝的屬性/方法,供項(xiàng)目調(diào)用編寫業(yè)務(wù)需求
  • 全局軟件包:作用在所有項(xiàng)目,一般封裝的命令/工具,支撐項(xiàng)目運(yùn)行

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器

Node.js 常用命令:

Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon,筆記,基礎(chǔ)知識,IDE,node.js,ecmascript,http,fs模塊,path模塊,http模塊,npm管理器文章來源地址http://www.zghlxwxcb.cn/news/detail-788569.html

到了這里,關(guān)于Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • node.js內(nèi)置模塊fs,path,http使用方法

    NodeJs中分為兩部分 一是V8引擎為了解析和執(zhí)行JS代碼。 二是內(nèi)置API,讓JS能調(diào)用這些API完成一些后端操作。 內(nèi)置API模塊(fs、path、http等) 第三方API模塊(express、mysql等) fs模塊 fs.readFile()方法,用于讀取指定文件中的內(nèi)容。 fs.writeFile()方法,用于向執(zhí)行的文件中寫入內(nèi)容 path路徑處

    2024年02月12日
    瀏覽(100)
  • Node.js模塊化

    說明:將復(fù)雜的程序文件,拆分多個(gè)文件的過程。模塊的內(nèi)部數(shù)據(jù)是私有的,不過模塊可以暴露內(nèi)部數(shù)據(jù)供其他模塊使用。 說明:編碼時(shí)是按照模塊一個(gè)一個(gè)編碼的,整個(gè)項(xiàng)目就是一個(gè)模塊化的項(xiàng)目。 3.模塊化的優(yōu)勢 說明: 提高代碼的復(fù)用性:模塊化可以將代碼分解為可重

    2024年02月12日
    瀏覽(20)
  • Node.js--模塊化

    1.1 什么是模塊化與模塊 將一個(gè)復(fù)雜的程序文件依據(jù)一定規(guī)則(規(guī)范)拆分成多個(gè)文件的過程稱之為 模塊化 其中拆分出的 每個(gè)文件就是一個(gè)模塊 ,模塊的內(nèi)部數(shù)據(jù)都是私有的,不過模塊可以暴露內(nèi)部數(shù)據(jù)以便其他模塊使用 1.2 什么是模塊化項(xiàng)目 編碼時(shí)是按照模塊一個(gè)一個(gè)編碼

    2024年02月16日
    瀏覽(45)
  • (三)Node.js - 模塊化

    (三)Node.js - 模塊化

    Node.js中根據(jù)模塊來源不同,將模塊分為了3大類,分別是: 內(nèi)置模塊 :內(nèi)置模塊由Node.js官方提供的,例如fs、path、http等 自定義模塊 :用戶創(chuàng)建的每個(gè).js文件,都是自定義模塊 第三方模塊 :由第三方開發(fā)出來的模塊,并非官方提供的內(nèi)置模塊,也不是用戶創(chuàng)建的自定義模塊

    2024年02月13日
    瀏覽(19)
  • 【node.js】04-模塊化

    【node.js】04-模塊化

    目錄 一、什么是模塊化 二、node.js中的模塊化 1. node.js中模塊的分類 2. 加載模塊 3.?node.js 中的模塊作用域 4.?向外共享模塊作用域中的成員 4.1 module對象? 4.2?module.exports 對象 4.3 exports對象 5.?node.js 中的模塊化規(guī)范? ????????模塊化是指解決一個(gè)復(fù)雜問題時(shí),自頂向下逐層

    2024年02月15日
    瀏覽(23)
  • 10-Node.js模塊化

    10-Node.js模塊化

    目標(biāo) 了解模塊化概念和好處,以及 CommonJS 標(biāo)準(zhǔn)語法導(dǎo)出和導(dǎo)入 講解 在 Node.js 中每個(gè)文件都被當(dāng)做是一個(gè)獨(dú)立的模塊,模塊內(nèi)定義的變量和函數(shù)都是獨(dú)立作用域的,因?yàn)?Node.js 在執(zhí)行模塊代碼時(shí),將使用如下所示的函數(shù)封裝器對其進(jìn)行封裝 ? 而且項(xiàng)目是由多個(gè)模塊組成的,

    2024年02月07日
    瀏覽(21)
  • 【Node.js】module 模塊化

    Node.js 是一個(gè)獨(dú)立的 JavaScript 運(yùn)行環(huán)境,能獨(dú)立執(zhí)行 JS 代碼,可以用來編寫服務(wù)器后端的應(yīng)用程序?;贑hrome V8 引擎封裝,但是沒有 DOM 和 BOM。Node.js 沒有圖形化界面。 node -v 檢查是否安裝成功。 node index.js 執(zhí)行該文件夾下的 index.js 文件。 commonJS 寫法 ES 寫法 需要先 npm ins

    2024年02月07日
    瀏覽(27)
  • Node.js-模塊化理解及基本使用

    講一個(gè)復(fù)雜的程序文件按照一定的規(guī)則拆分成多個(gè)獨(dú)立的小文件,這些小文件就是小模塊,這就是模塊化。 每個(gè)小模塊內(nèi)部的數(shù)據(jù)是私有的,可以暴露內(nèi)部數(shù)據(jù)給外部其他模塊使用。 減少命名的沖突 提高復(fù)用性 提高可維護(hù)性 按需加載 1.單個(gè)模塊暴露 2.多個(gè)模塊暴露 暴露數(shù)

    2024年02月14日
    瀏覽(30)
  • 第四章認(rèn)識Node.js模塊化開發(fā)

    Node.js系統(tǒng)模塊 續(xù)上一篇文章第三章認(rèn)識Node.js模塊化開發(fā)-CSDN博客,這次繼續(xù)來認(rèn)識和總結(jié)以下node的常用模塊開發(fā) Node.js系統(tǒng)模塊是指Node.js自帶的一些模塊,這些模塊可以直接在Node.js中使用,無需安裝其他包。以下是常用的Node.js系統(tǒng)模塊: fs模塊:用于處理文件系統(tǒng)。 htt

    2024年02月08日
    瀏覽(24)
  • 【Node.js學(xué)習(xí) day4——模塊化】

    【Node.js學(xué)習(xí) day4——模塊化】

    什么是模塊化與模塊? 將一個(gè)復(fù)雜的程序文件依據(jù)一定規(guī)則(規(guī)范)拆分成多個(gè)文件的過程稱之為 模塊化 其中拆分的 每個(gè)文件就是一個(gè)模塊 ,模塊的內(nèi)部數(shù)據(jù)是私有的,不過模塊可以暴露內(nèi)部數(shù)據(jù)以便其他模塊使用。 什么是模塊化項(xiàng)目? 編碼時(shí)是按照模塊一個(gè)一個(gè)編碼的

    2024年01月16日
    瀏覽(50)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包