sql >> Databáze >  >> RDS >> PostgreSQL

Co tento JavaScript vyžaduje?

Takže co je to "vyžadovat?"

require() není součástí standardního JavaScript API. Ale v Node.js je to vestavěná funkce se speciálním účelem:načítat moduly.

Moduly představují způsob, jak rozdělit aplikaci do samostatných souborů namísto toho, abyste měli celou aplikaci v jednom souboru. Tento koncept je přítomen i v jiných jazycích s menšími rozdíly v syntaxi a chování, jako je include v jazyce C , import Pythonu , a tak dále.

Jedním z velkých rozdílů mezi moduly Node.js a JavaScriptem prohlížeče je způsob, jakým se ke kódu jednoho skriptu přistupuje z kódu jiného skriptu.

  • V JavaScriptu prohlížeče se skripty přidávají pomocí <script> živel. Když jsou spuštěny, mají všechny přímý přístup ke globálnímu rozsahu, „sdílenému prostoru“ mezi všemi skripty. Jakýkoli skript může libovolně definovat/upravovat/odebírat/volat cokoli v globálním rozsahu.

  • V Node.js má každý modul svůj vlastní rozsah. Modul nemůže přímo přistupovat k věcem definovaným v jiném modulu, pokud se nerozhodne je vystavit. Chcete-li vystavit věci z modulu, musí být přiřazeny k exports nebo module.exports . Pro modul pro přístup k exports jiného modulu nebo module.exports , musí používat require() .

V kódu var pg = require('pg'); načte pg modul, klient PostgreSQL pro Node.js. To umožňuje vašemu kódu přistupovat k funkcím rozhraní API klienta PostgreSQL prostřednictvím pg proměnná.

Proč to funguje v uzlu, ale ne na webové stránce?

require() , module.exports a exports jsou API modulového systému, který je specifický pro Node.js. Prohlížeče tento modulový systém neimplementují.

Než jsem to zprovoznil v uzlu, musel jsem také provést npm install pg . O co jde?

NPM je služba úložiště balíčků, která hostí publikované moduly JavaScriptu. npm install je příkaz, který vám umožňuje stahovat balíčky z jejich úložiště.

Kam to vložil a jak to Javascript najde?

npm cli vloží všechny stažené moduly do node_modules adresář, ve kterém jste spustili npm install . Node.js má velmi podrobnou dokumentaci o tom, jak moduly nacházejí jiné moduly, včetně nalezení node_modules adresář.



  1. Připojení SQL Server k Oracle

  2. ORA-06502:PL/SQL:numerická nebo hodnotová chyba:vyrovnávací paměť znakového řetězce je příliš malá

  3. Jak změním výchozí hodnotu sloupce v PostgreSQL?

  4. Určete Oracle null ==null