gpt4 book ai didi

node.js - nodejs如何动态加载资源javascript文件

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:22 26 4
gpt4 key购买 nike

我有一个在 Nodejs 服务器上运行的资源加载器 JS 文件。我想放入一堆资源 js 文件,资源加载器将在初始化时将其加载到数组中。

    // resource loader js file
var Resources = (function () {

var resources = {};

function Resources(){
... loading code here

// example of use after loading
resources[key].doStuff();
}
})();
module.exports.Resources = Resources;

在同一目录中,开发人员可以根据需要放入新的 resources.js 文件。

// resource file
var ResourceA = (function () {

function ResourceA(){
... loading code here

// example of use after loading
ResourceA.prototype.doStuff= function () {
// do stuff
};

})();

最佳答案

我不确定你的意思,但如果你想要的是在服务器端的单个文件夹中加载一堆模块,我构建了这个小函数来做到这一点。

var path = require('path'),
walk = require('walk');

function findModules(opts,done){
var walker = walk.walk(opts.folder, { followLinks: false }),
modules = [];

walker.on('file', function(root, stat, next) {
var current = path.join(root, stat.name),
extname = path.extname(current);

if(extname === '.js' && (opts.filter === undefined || opts.filter(current))){
var module = require(current);
modules.push(module);
}

next();
});

walker.on('end', function() {
done(modules);
});
}

然后,你可以这样调用它:

findModules({
folder: 'path/to/folder',
filter: undefined // either undefined or a filter function for module names
}, function(modules){
// continue
});

安装 walk :

npm install walk --save

关于node.js - nodejs如何动态加载资源javascript文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15053897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com