所以我计划将我的函数分成单独的文件,然后将它们导入到一个单独的文件中index.js
然后成为主要出口国。所以我想知道是否有类似的东西var bcrypt = require('bcrypt')
在我的几个文件中比仅在一个文件中慢。
这是我计划在 index.js 中分组和导出的方式
const fs = require('fs');
const path = require('path')
const modules = {}
const files = fs.readdirSync(__dirname)
files.forEach(file => {
if (file === 'index.js') return
let temp = require(path.join(__dirname, file))
for (let key in temp) {
modules[key] = temp[key]
}
});
module.exports = modules
举个例子来说明我的意思:
file1.js
var bcrypt = require("bcrypt");
module.exports.file1test = "hi"
文件2.js
var bcrypt = require("bcrypt");
module.exports.file2test = "bye"
不,不是的。每当一个模块require
d 第一次,模块的代码运行,为其导出分配一些内容,然后返回这些导出。更远require
该模块的 s 只是再次引用这些导出。逻辑类似于:
const importModule = (() => {
const exports = {};
return (name) => {
if (!exports[name]) exports[name] = runModule(name);
return exports[name];
};
})();
所以,多个import
同一模块的 s 并不比多次引用一个对象更昂贵。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)