No nodejs, um módulo é um arquivo js usado para usar algumas funções especificadas. Ao dividir todas as funções em módulos, o escopo das variáveis globais e funções definidas em cada módulo também é limitado a este módulo. dependências e pode encapsular vários módulos.
O ambiente operacional deste artigo: sistema Windows 10, nodejs versão 12.19.0, computador Dell G3.
Distinguir entre pacotes e módulos: O uso adequado de pacotes e módulos tornará seu programa menos redundante, altamente legível e totalmente funcional.
Os pacotes são usados para gerenciar vários módulos e suas dependências podem ser encapsulados. O diretório raiz do pacote deve conter o arquivo package.json. Um arquivo package.json que está em conformidade com a especificação CommonJS geralmente contém os seguintes campos:
nome: nome do pacote. Os nomes dos pacotes são exclusivos e só podem conter letras minúsculas, números e sublinhados. versão: número da versão do pacote. descrição: Descrição do pacote. palavras-chave: matriz de palavras-chave, usada para pesquisa. página inicial: página inicial do projeto. bugs: O endereço para enviar bugs. licença: licença. mantenedores: conjunto de mantenedores. contribuidores: conjunto de contribuidores. repositórios: conjunto de endereços de hospedagem do warehouse do projeto. dependências: dependências de pacote.O arquivo package.json pode ser editado manualmente ou gerado por meio do comando npm init. Digite o comando npm init no terminal para gerar um pacote contendo um arquivo package.json. Insira diretamente npm init --yes para pular a resposta à pergunta e gerar diretamente o arquivo package.json com valores padrão.
Instale o pacote através do comando npm install xxx. por exemplo:
Pacote de instalação: npm install express Pacote de atualização: npm update express Excluir pacote: npmuninstall expressEncontre o pacote na comunidade npm e instale-o através do comando npm install module name. O nome de cada módulo é globalmente exclusivo.
Precisamos comparar o JS no navegador com o JS no Node.js:
Em JavaScript, geralmente dividimos o código JavaScript em vários arquivos js e, em seguida, mesclamos e executamos esses arquivos js no navegador. No Node.js, todas as funções são divididas em módulos. Cada módulo é um arquivo js, e o escopo das variáveis globais e funções definidas em cada módulo também é limitado a este módulo. Somente o objeto de exportação pode ser passado para uso externo.O Node.js fornece oficialmente muitos módulos, cada um dos quais implementa uma função, como o módulo fs para operar arquivos e sistemas de arquivos, o módulo http para construir serviços http e o módulo path para processar caminhos de arquivos, etc.
Criamos um módulo e o exportamos usando module.exports.
arquivo meuModule.js
function foo() { console.log("olá syl");} module.exports.foo = foo;arquivo index.js
var olá = require("./myModule.js");hello.foo();Nota: O módulo principal é definido no diretório lib/ do código-fonte do Node.js. require() sempre carregará os módulos principais primeiro. Por exemplo: require('http') sempre retorna o módulo HTTP integrado, mesmo se houver um arquivo com o mesmo nome.
Para simplificar suas operações, o Node.js fornece uma variável especial: exports é igual a module.exports. Essas duas linhas de código têm o mesmo efeito:
module.exportações.foo = foo;exportações.foo = foo;Explique o caso:
// module.jsconsole.log('module', module)console.log('module.exports', module.exports)console.log('exports', exports)console.log(module.exports === exports) ;console.log("========================================="); exportações = { a: 3, };console.log(exportações);console.log(module.exports);console.log(exportações === module.exportações);require() obtém o valor exportado por module.exports. Você pode usar module.exports e exports para exportar vários membros. Você só pode usar module.exports para exportar um único membro.
Aprendizagem recomendada: "tutorial em vídeo nodejs"
O texto acima é o conteúdo detalhado do que os módulos e pacotes nodejs fazem. Para obter mais informações, preste atenção a outros artigos relacionados neste site!