Javascript midi的外部要求导致;process.versions是未定义的";在bundle.js中

Javascript midi的外部要求导致;process.versions是未定义的";在bundle.js中,javascript,node.js,browserify,Javascript,Node.js,Browserify,我正试图从justinlatimer浏览节点midi npm模块。我通过npm在我的项目目录中安装了它,然后运行browserify-r midi>bundle.js。我创建了一个基本html文件,其中包括以下内容: <script src="bundle.js"></script> <script> var midi = require('midi'); var input = new midi.input(); console.log(inpu

我正试图从justinlatimer浏览节点midi npm模块。我通过npm在我的项目目录中安装了它,然后运行browserify-r midi>bundle.js。我创建了一个基本html文件,其中包括以下内容:

<script src="bundle.js"></script>
<script>
  var midi = require('midi');
  var input = new midi.input();
  console.log(input.getPortName(0)); // simple test to see if browserified midi works
</script>

var midi=require('midi');
var input=新的midi.input();
console.log(input.getPortName(0));//简单的测试,看看浏览器化的midi是否工作
这导致bundle.js 90中出现“TypeError:process.versions未定义”:

var fs = require('fs')
  , path = require('path')
  , join = path.join
  , dirname = path.dirname
  , exists = fs.existsSync || path.existsSync
  , defaults = {
    arrow: process.env.NODE_BINDINGS_ARROW || ' → '
    , compiled: process.env.NODE_BINDINGS_COMPILED_DIR || 'compiled'
    , platform: process.platform
    , arch: process.arch
    , version: process.versions.node // RIGHT HERE
    , bindings: 'bindings.node'
    , try: [
      // node-gyp's linked version in the "build" dir
      [ 'module_root', 'build', 'bindings' ]
      // node-waf and gyp_addon (a.k.a node-gyp)
      , [ 'module_root', 'build', 'Debug', 'bindings' ]
      , [ 'module_root', 'build', 'Release', 'bindings' ]
      // Debug files, for development (legacy behavior, remove for node v0.9)
      , [ 'module_root', 'out', 'Debug', 'bindings' ]
      , [ 'module_root', 'Debug', 'bindings' ]
      // Release files, but manually compiled (legacy behavior, remove for node v0.9)
      , [ 'module_root', 'out', 'Release', 'bindings' ]
      , [ 'module_root', 'Release', 'bindings' ]
      // Legacy from node-waf, node <= 0.4.x
      , [ 'module_root', 'build', 'default', 'bindings' ]
      // Production "Release" buildtype binary (meh...)
      , [ 'module_root', 'compiled', 'version', 'platform', 'arch', 'bindings' ]
      ]
}
var fs=require('fs'))
,path=require('path'))
,join=path.join
,dirname=path.dirname
,exists=fs.existsSync | | path.existsSync
,默认值={
arrow:process.env.NODE_绑定_arrow | | |'–†'
,已编译:process.env.NODE_BINDINGS_compiled_DIR | |“compiled”
,platform:process.platform
,arch:process.arch
,版本:process.versions.node//就在这里
,bindings:'bindings.node'
,请尝试:[
//“build”目录中节点gyp的链接版本
['module_root','build','bindings']
//节点waf和gyp_插件(也称为节点gyp)
,['module_root','build','Debug','bindings']
,['module_root','build','Release','bindings']
//调试文件,用于开发(遗留行为,针对节点v0.9删除)
,['module_root','out','Debug','bindings']
,['module_root','Debug','bindings']
//发布文件,但手动编译(遗留行为,针对节点v0.9删除)
,['module_root','out','Release','bindings']
,['module_root','Release','bindings']
//来自节点waf的遗留问题,在Github上回答的节点:

从子堆栈:

“midi模块直接与系统硬件接口,因此无法在浏览器中本机工作。”

由于模块的工作方式,无法对其进行浏览