O que é Índice.js tipicamente usado para nodo.projectos js

para além de uma boa forma de exigir todos os ficheiros numa pasta (nó.o js precisa de todos os ficheiros numa pasta?, para que é utilizado principalmente index.js; tem utilidade para as "melhores práticas"?

Author: Community, 2014-01-11

3 answers

Quando você passa uma pasta para a necessidade do Node (), ele irá verificar para um pacote.json para um endpoint. Se isso não estiver definido, verifica o índice.js, e finalmente index.node (um formato de extensão c++). Então o índice.js é provavelmente o ponto de entrada para exigir um módulo.

Veja os documentos oficiais aqui: http://nodejs.org/api/modules.html#modules_folders_as_modules.

Além disso, você pergunta como exigir todos os arquivos em um diretório. Normalmente, é necessário um directório com um indice.js que expõe alguma interface encapsulada para esses arquivos; a maneira de fazer isso será diferente para sempre módulo. Mas suponha que você queria incluir o conteúdo de uma pasta quando você inclui a pasta (Nota, Esta não é uma melhor prática e vem acima menos frequentemente do que você pensaria). Então, precisa de um índice.js que carrega todos os arquivos no diretório de forma sincronizada (configurar as exportações assíncrona normalmente é pedir erros terríveis) e os prende ao módulo.exportações como então ...

var path = require('path'),
    dir = require('fs').readdirSync(__dirname + path.sep);

dir.forEach(function(filename){

    if(path.extname(filename) === '.js' && filename !== 'index.js'){
        var exportAsName = path.basename(filename);
        module.exports[exportAsName] = require( path.join( __dirname, filename) );
    }

});
Eu quase nunca vejo pessoas querendo usar esse padrão-na maioria das vezes você quer seu índice.js to go something like
var part1 = require('./something-in-the-directory'),
    part2 = require('./something-else');
....
module.exports = myCoolInterfaceThatUsesPart1AndPart2UnderTheHood;
 29
Author: MattNewton, 2014-02-13 17:08:03

Normalmente em outras línguas, o servidor web procura por certos ficheiros para carregar primeiro ao visitar um directório como / em prioridade, tradicionalmente isto é: índice ou padrão. Em php seria índice.php ou apenas HTML simples seria índice.html

No Nó.js, o nó em si é o servidor web para que você não precisa para nomear qualquer índice.js mas é mais fácil para as pessoas entenderem Qual Arquivo Executar primeiro .

Índice.js normalmente lida com a sua aplicação inicialização, roteamento e outras funções de sua aplicação e requer outros módulos para adicionar funcionalidade. Se você estiver executando um site ou aplicativo web que também iria lidar se tornar um servidor Web HTTP básico substituindo o papel de algo mais tradicional como o Apache.

 10
Author: Steven Leggett, 2014-01-11 18:13:47

Aqui está um bom artigo explicando como nó.js procura o módulo necessáriohttps://medium.freecodecamp.org/requiring-modules-in-node-js-everything-you-need-to-know-e7fbd119be8, com pasta e index.js ficheiro

Os módulos não têm de ser Ficheiros. Também podemos criar uma pasta de procura-me em node_módulos e colocar um índice.o ficheiro do js está ali. Mesmo a linha require ('find-me') irá usar o índice dessa pasta.ficheiro js:
~/learn-node $ mkdir -p node_modules/find-me
~/learn-node $ echo "console.log('Found again.');" > node_modules/find-me/index.js
~/learn-node $ node
> require('find-me');
Found again.
{}
>
 0
Author: onmyway133, 2018-08-17 13:29:08