Aqui, você vai aprender a expor diferentes tipos como um módulo usando módulo.exportacao.
o module.exports
é um objeto especial que está incluído em cada arquivo JavaScript no nó.aplicação js por padrão. module
é uma variável que representa o módulo atual, e exports
é um objeto que será exposto como um módulo. Assim, o que você atribuir a module.exports
será exposto como um módulo.,
Let’s see how to expose different types as a module using module.exports
.
Export Literals
As mentioned above, exports
is an object. Então expõe o que lhe atribuiu como módulo. Por exemplo, se você atribuir um texto literal então ele irá expor esse texto literal como um módulo.
o exemplo a seguir expõe a mensagem de texto simples como um módulo na mensagem.js.
Copy
module.exports = 'Hello world';
agora, importar Este módulo de mensagem e usá-lo como mostrado abaixo.
Copiar
var msg = require('./Messages.js');console.log(msg);
Executar o exemplo acima e veja o resultado, como mostrado abaixo.
C:\ > node app.js
Hello World
./
como uma localização da pasta raiz para importar um módulo local. No entanto, você não precisa especificar o caminho para importar o nó.,módulos principais js ou módulos NPM na função require()
.Export Object
Theexports
is an object. Então, você pode anexar Propriedades ou métodos a ele. O exemplo seguinte expõe um objeto com uma propriedade de cadeia de caracteres em file.
Copiar
exports.SimpleMessage = 'Hello world';//ormodule.exports.SimpleMessage = 'Hello world';
No exemplo acima, anexamos uma propriedade SimpleMessage
para as exportações de objeto. Agora, importar e usar este módulo, como mostrado abaixo.
Copiar
var msg = require('./Messages.js');console.log(msg.SimpleMessage);
No exemplo acima, o require()
função irá retornar um objeto { SimpleMessage : 'Hello World'}
e atribua-o ao erro variável. Então, agora você pode usar msg.SimpleMessage
.
execute o exemplo acima escrevendo node app.js
na linha de comandos e veja o resultado como mostrado abaixo.
C:\ > node app.js
Hello World
da mesma forma que acima, você pode expor um objeto com função., O exemplo seguinte expõe um objeto com a função log
como um módulo.
Copiar
module.exports.log = function (msg) { console.log(msg);};
O módulo acima irá expor um objeto { log : function(msg){ console.log(msg); } }
. Use o módulo acima como mostrado abaixo.
Copy
var msg = require('./Log.js');msg.log('Hello World');
execute e veja o resultado na linha de comandos como mostrado abaixo.
C:\ > node app.,js
Hello World
You can also attach an object to module.exports
, as shown below.
Copiar
module.exports = { firstName: 'James', lastName: 'Bond'}
Copiar
var person = require('./data.js');console.log(person.firstName + ' ' + person.lastName);
Executar o exemplo acima e veja o resultado, como mostrado abaixo.
C:\ > node app.js James Bond
função de exportação
você pode anexar uma função anônima ao objeto de exportação como mostrado abaixo.,
Copiar
module.exports = function (msg) { console.log(msg);};
Agora, você pode usar o módulo acima, como mostrado abaixo.
Copiar
var msg = require('./Log.js');msg('Hello World');
msg
variável torna-se uma expressão de função, no exemplo acima. Assim, você pode invocar a função usando parêntesis ()
. Execute o exemplo acima e veja o resultado como mostrado abaixo.
C:\ > node app.,js
Hello World
Export Function as a Class
In JavaScript, a function can be treated like a class. O exemplo a seguir expõe uma função que pode ser usada como uma classe.
O módulo acima pode ser usado, como mostrado abaixo.
Copiar
var person = require('./Person.js');var person1 = new person('James', 'Bond');console.log(person1.fullName());
Como você pode ver, criamos uma person
objeto usando o new
palavra-chave. Execute o exemplo acima, como mostrado abaixo.
C:\ > node app.,js
James Bond
desta forma, poderá exportar e importar um módulo local criado num ficheiro separado sob a pasta root.
nó.o js também permite criar módulos em sub-pastas. Vamos ver como carregar o módulo das sub-pastas.
carregar o módulo da pasta separada
usar a localização completa de um ficheiro de Módulo onde o exportou usando o module.exports
. Por exemplo, se o módulo de log no log.js é armazenado sob a pastautility
sob a pasta raiz da sua aplicação, importando-a depois, como mostrado abaixo.
Copiar
var log = require('./utility/log.js');
No exemplo acima, .
é a pasta raiz e, em seguida, especifique o caminho exato do módulo arquivo. No.js também nos permite especificar o caminho para a pasta sem especificar o nome do arquivo. Por exemplo, você pode indicar apenas a pasta de utilitários sem especificar log.js
, como mostrado abaixo.
Copy
var log = require('./utility');
no exemplo acima, nó.,js irá procurar por um arquivo de definição de pacote chamado package.json
dentro da pasta de utilitários. Isto é porque o Node assume que esta pasta é um pacote e vai tentar procurar por uma definição de pacote.O ficheiro package.json
deve estar numa pasta de módulos. The package.json
under utility folder specifies the file name using themain
key, as shown below.
Copy
{ "name" : "log", "main" : "./log.js"}
Now, Node.,js vai encontrar o log.js
arquivo usando o main
entrada package.json
e importá-lo.
package.json
não existir, então irá procurar o índice.js file as a module file by default. Copyright © 2021 Kompremos