我最近開始學習 Node/express。一個疑問困擾著我幾個星期。我知道這是做什么的,我已經能夠克服它。但我無法理解“const a = express()”行中使用的邏輯。
express = require('express');
const a = express()
我不認為我以前在 javascript 中見過這個。在這種情況下, express 是一個物件或函式(函式在 JavaScript 中也是物件)對嗎?這一行使變數“a”可以訪問許多重要的方法,例如“listen”和“get”。但是這里的語法不是錯誤的嗎?要使用 express 功能,我們需要這樣寫
const express = require('express');
const a = express.express()
或者我們需要使用物件解構來寫
const {express} = require('express');
const a = express()
uj5u.com熱心網友回復:
也許混淆在于假設express模塊的默認匯出不是函式,但正如其他人指出的那樣,默認匯出是express 函式。匯入后,該函式的回傳值是 Express 的一個實體,您可以在其中訪問您提到的所有方法。
想象一下,它的定義function express和它回傳的物件看起來像
class Express {
// Implementation of Express server
}
// You're importing this and calling the function, receiving a new instance of this class. In reality this could be a class or object for all I know.
export default function express() {
return new Express()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/471235.html
標籤:javascript 节点.js 表示
上一篇:TypeError:無法讀取未定義的屬性(讀取“a”)
下一篇:JS無法匯入npm模塊
