我是一个长期LAMP开发人员,并且习惯在需要时使用autoloader加载类,但直到那时才开始,但现在正在学习Node.js。许多示例显示了加载所有文件的文件夹中的index.js文件。
例如:模型
--- CarModel.js
--- TruckModel.js
--- MotorcylceModel.js
--- index.js - this file includes all the models in the folder.
在我的代码中,我使用
const {CarModel} = require('./index');
这是首选方法吗?
如果是,为什么?
为什么不使用自动装载机,只在需要的时候加载文件呢?
我在网上搜索,但没有找到任何明确解释这一点的东西。如果你有一篇文章对你有帮助,我将不胜感激。
您不会使用自动装入器,因为没有自动装入器--这与PHP中完全不同。在PHP中,有一个全局符号表--一个类名意味着什么,不管它用在什么地方。因此,如果调用类CarModel,则可以全局引用该名称。当您通过名称引用它时,自动装入器可以定位该文件。这是由PSR-4(自动装入器)辅助的,它根据类文件的命名空间和名称指定在哪里找到类文件。
在JavaScript中,情况并非如此。有一个全局对象(node.js中的global
,浏览器中的window
),但结构--函数、类等--不是全局的,与它无关。例如,当require()
具有类实现的文件时,实际上是在创建一个包含该文件的exports
值的变量。所以:
还有一个相反的论点:如果可以预加载,为什么还要延迟加载文件呢?与PHP应用程序不同,Node.js进程通常是长时间运行的,因此启动阶段需要多少就需要多少--因为这样您就会一直使用已经加载的代码,而不是在用户尝试执行新操作时进行昂贵的文件系统调用。
目前,我正在使用MongoCollection 前: 但我不知道FindIterable是加载所有文档并循环,还是只是加载光标并在稍后循环时获取文档?
有人想要代码更为简洁,便把卸载文件代码修改为: Delete "$INSTDIR\*.*" 然后把多余的删除。以前也这样做过,但后来想到,如果某个菜鸟把我们打包的程序安装在了D盘根目录(或其他分区的根目录),而他又点击了卸载的话,真让人欲哭无泪啊——D盘下面的所有文件都没啦! 所以,安装目录中的文件还是老老实实写代码卸载吧。包括桌面上的快捷方式也不要这样卸载,否则卸载后桌面上会空无一物的! 不过
问题内容: 我想在不知道文件名的情况下将所有图像加载到文件夹中,然后将它们存储到Integer向量中-在运行时。 实际上,我需要执行与本示例相同的操作:http : //developer.android.com/resources/tutorials/views/hello- gridview.html 但是在运行时却不知道文件名。 有什么帮助吗? 在您回答之后,我知道该怎么做…但是我不知道如何
问题内容: 如何在node.js的文件夹中需要所有文件? 需要类似的东西: 问题答案: 给require给出文件夹的路径后,它将在该文件夹中寻找一个index.js文件。如果有一个,它会使用它,如果没有,它将失败。 如果您可以控制文件夹,那么创建一个index.js文件,然后分配所有“模块”,然后简单地要求就可以了。 yourfile.js index.js 如果您不知道文件名,则应该编写某种加载
问题内容: 我有一个.jsp页面,其中有一个GUI表,该表显示来自Oracle数据库的记录。该表允许典型的分页行为,例如“ FIRST”,“ NEXT”,“ PREVIOUS”和“ LAST”。记录是从Java ResultSet对象获得的,该对象是从执行SQL语句返回的。 这个ResultSet可能很大,所以我的问题是: 如果我的ResultSet包含一百万条记录,但是我的表仅显示ResultS
问题内容: 我想使用Java读取文件夹中的所有图像。 什么时候: 我按下Java应用程序中的按钮, 它应该: 在弹出窗口中询问目录的路径, 然后 从该目录加载所有图像, 然后 显示其名称,尺寸类型和尺寸。 如何进行? 我有用于读取图像以及文件夹中所有图像的代码,但是我上面所说的事情如何完成? 欢迎任何建议或帮助!请提供参考链接! 问题答案: 未经测试,因为未在装有JDK的计算机上进行测试,所以请耐