Check if a node.js module is available

前端 未结 5 1706
清酒与你
清酒与你 2020-11-30 09:29

I\'m looking for a way to find out if a module is available.

For example, I want to check if the module mongodb is available, programmatically.

5条回答
  •  Happy的楠姐
    2020-11-30 10:20

    Maybe resolve-like modules will be helpfully here?

    The numbers of modules are exist on npm:

    • async-resolve
    • resolve
    • resolveIt
    • enhanced-resolve
    • localizer

    I wrote first, async-resolve, and for example:

    var Resolver = require('async-resolve');
    var resolver_obj = new Resolver();
    resolver_obj.resolve('module', __dirname, function(err, filename) {
      return console.log(filename);
    });
    

    It use node modules path resolutions rules but don't block main loop as node do it. And in result you get filename, so it can be used to decide its local module or global and other things.

提交回复
热议问题