2016-08-01 17 views
-1

Ich verstehe require() wird verwendet, um ein bestimmtes Knotenmodul in ein anderes zu importieren und es zu verwenden. Aber was nützt die Verwendung von zusätzlichen () Post. Angenommen, ich habe folgende Anweisung in meiner server.js Datei: var init = require('./config/init');. Es bedeutet nur, dass wir Module importieren, die in der Datei ./config/init.js deklariert sind. Aber was bedeutet var init = require('./config/init')();? Was ist die Verwendung von () am Ende der require Aussage?Was ist die Verwendung von() post require() in node.js?

+0

Wenn das Modul sind Sie Exporte eine Funktion benötigen, setzen '()' nach dem erfordert die Funktion aufrufen. – gcampbell

+0

Beispiel: 'const express = require ('express'); const app = express(); 'gegen' const app = require ('express')(); ' – gcampbell

Antwort

4

einfach, dass, wenn diese Linie importiert eine function:

var init = require('./config/init') 

... dann die zusätzlichen () diese Funktion ausführt, sofort.

Betrachten Sie es als Abkürzung für diese 2 Zeilen

var initLib = require('./config/init') 
var init = initLib(); 
1

require('library') kehrt der Exporte der angegebenen Bibliothek. In diesem Fall sieht es so aus, als ob die Bibliothek eine Funktion zurückgibt, und Sie rufen sie einfach auf und speichern den von der Funktion zurückgegebenen Wert.

In diesem Fall ist das Modul, das Sie importieren hat Code wie folgt aus:

module.exports = function() { 
    ... 
    return theInitValue; 
}