node.js - 仅需要一个模块(如果已安装)

标签 node.js npm

是否可以判断模块/包是否可用?

类似这样的事情:

var moduleexists = require "moduleexists"

if (moduleexists("strangemodule")) {
  var strangemodule = require("strangemodule");

  strangeModule.doCoolStuff();
} else {
  // Do something without strangemodule
}

最佳答案

您可以使用try..catch加载模块

try {                                                                                                                                                                                                                     
  var m = require('idontexist');                                                                                                                                                                                                                  
} catch(e) {                                                                                                                                                                                                                                      
 var m = {
    'doCoolStuff': function() { 
      .. 
    }
 };                                                                                                                                                                                                                             
} 

if (m.hasOwnProperty('doCoolStuff') && typeof m.doCoolStuff === 'function') {
   m.doCoolStuff();
}                                                                                                                                                                                                                                                                                                                                                                                                                                 

关于node.js - 仅需要一个模块(如果已安装),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19852013/

相关文章:

javascript - Node.js 中非字符串后的字符串未格式化

mysql - 为什么在 Node.js 中使用 escape() 时 MySQL 不显示错误?

javascript - 开发相互依赖的 npm 包的最佳工作流程

node.js - 无法运行我的 Node.js Typescript 项目 TypeError [ERR_UNKNOWN_FILE_EXTENSION] : Unknown file extension ".ts" for/app/src/App. ts

windows - 某些 NPM 安装失败并显示 EPERM 50(Gulp 和其他)

javascript - 验证器(类型错误 : Validator is not a constructor)

node.js - 如何在 node.js 中实现正确处理背压的流?

node.js - 使用更多的vCPU是否有助于提高node.js的性能?

javascript - Laravel MIX,如何在多个文件中使用单个函数

git - Windows 上的 Git Bash 中没有来自 NPM 命令的进度反馈