Javascript midi的外部要求导致;process.versions是未定义的";在bundle.js中
我正试图从justinlatimer浏览节点midi npm模块。我通过npm在我的项目目录中安装了它,然后运行browserify-r midi>bundle.js。我创建了一个基本html文件,其中包括以下内容: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
<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模块直接与系统硬件接口,因此无法在浏览器中本机工作。”
由于模块的工作方式,无法对其进行浏览