PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O que este JavaScript requer?


Então, o que é isso "exigir?"

require() não faz parte da API JavaScript padrão. Mas no Node.js, é uma função interna com um propósito especial:carregar módulos.

Os módulos são uma maneira de dividir um aplicativo em arquivos separados em vez de ter todo o seu aplicativo em um arquivo. Este conceito também está presente em outras linguagens com pequenas diferenças de sintaxe e comportamento, como o include do C , a import do Python , e assim por diante.

Uma grande diferença entre os módulos Node.js e o JavaScript do navegador é como o código de um script é acessado a partir do código de outro script.

  • No JavaScript do navegador, os scripts são adicionados por meio do <script> elemento. Quando executados, todos têm acesso direto ao escopo global, um "espaço compartilhado" entre todos os scripts. Qualquer script pode definir/modificar/remover/chamar livremente qualquer coisa no escopo global.

  • No Node.js, cada módulo tem seu próprio escopo. Um módulo não pode acessar diretamente as coisas definidas em outro módulo, a menos que opte por expô-las. Para expor coisas de um módulo, elas devem ser atribuídas a exports ou module.exports . Para um módulo acessar as exports de outro módulo ou module.exports , deve usar require() .

Em seu código, var pg = require('pg'); carrega o pg module, um cliente PostgreSQL para Node.js. Isso permite que seu código acesse a funcionalidade das APIs do cliente PostgreSQL através do pg variável.

Por que funciona no nó, mas não em uma página da web?

require() , module.exports e exports são APIs de um sistema de módulos específico para Node.js. Os navegadores não implementam este sistema de módulos.

Além disso, antes de trabalhar no nó, tive que fazer npm install pg . Sobre o que é isso?

O NPM é um serviço de repositório de pacotes que hospeda módulos JavaScript publicados. npm install é um comando que permite baixar pacotes de seu repositório.

Onde ele o colocou e como o Javascript o encontra?

O npm cli coloca todos os módulos baixados em um node_modules diretório onde você executou npm install . O Node.js tem uma documentação muito detalhada sobre como os módulos encontram outros módulos, incluindo encontrar um node_modules diretório.