什么是index.js通常用于node.js项目

 QQ文科 发布于 2023-02-04 14:17

除了一个很好的方法来要求目录中的所有文件(node.js需要文件夹中的所有文件?),index.js主要用于什么; 它有"最佳实践"效用吗?

2 个回答
  • 将文件夹传递给Node的require()时,它将检查端点的package.json.如果没有定义,则检查index.js,最后检查index.node(c ++扩展格式).因此index.js很可能是需要模块的入口点.

    请参阅此处的官方文档:http://nodejs.org/api/modules.html#modules_folders_as_modules.

    此外,您询问如何要求目录中的所有文件.通常,您需要一个带有index.js的目录,该目录向这些文件公开一些封装的接口; 对于以前的模块来说,这样做的方式会有所不同.但是假设您想要在包含文件夹时包含文件夹的内容(注意,这不是最佳做法,并且比您想象的要少.然后,您可以使用index.js同步加载目录中的所有文件(异步设置导出通常会要求可怕的错误)并将它们附加到module.exports,如下所示:

    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) );
        }
    
    });
    

    我几乎没有看到人们想要使用该模式 - 大多数时候你希望你的index.js类似于

    var part1 = require('./something-in-the-directory'),
        part2 = require('./something-else');
    ....
    module.exports = myCoolInterfaceThatUsesPart1AndPart2UnderTheHood;
    

    2023-02-04 14:18 回答
  • 通常在其他语言中,Web服务器在访问像/优先级这样的目录时首先查找要加载的某些文件,传统上这是:index或default.在php中它将是index.php或仅仅是纯HTML,它将是index.html

    在Node.js中,Node本身就是Web服务器,因此您不需要为index.js命名,但人们更容易理解首先运行哪个文件.

    index.js通常处理应用程序的启动,路由和应用程序的其他功能,并且需要其他模块来添加功能.如果您正在运行一个网站或Web应用程序,它也将成为一个基本的HTTP Web服务器,取代像Apache这样更传统的角色.

    2023-02-04 14:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有