Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs如何动态加载资源javascript文件_Node.js - Fatal编程技术网

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

Node.js nodejs如何动态加载资源javascript文件,node.js,Node.js,我在nodejs服务器上运行了一个资源加载器JS文件。我想加入一组资源js文件,资源加载器将在初始化时加载到数组中 // resource loader js file var Resources = (function () { var resources = {}; function Resources(){ ... loading code here // example of use after loading resourc

我在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;
在同一目录中,开发人员可以根据需要插入新的resource.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
});
要安装:

新的和更简单的:

安装

用法

吉特

require./resource.js'?开发人员必须为每个文件添加require。想象一下有50个。我希望开发人员只创建文件,而不必修改资源加载器文件。这是对代码的一个小小的补充。var模块=需要。/+电流;如果没有这个,我会得到一个错误,说找不到模块。
npm install walk --save
npm install eloader
const eloader = require('eloader');
const db = require('db');

eloader.add('db', db)
       .add('list', [2,8]
       .run(__dirname + '\\routes\\');