当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 关于node-bindings无法在Electron中使用的解决办法

关于node-bindings无法在Electron中使用的解决办法

2019年01月04日  | 移动技术网IT编程  | 我要评论

node-bindings非常好用,但是在electron中无法使用,我查了一下,是因为filename以file://开头导致无法定位动态库的根目录。已经提交给作者了,可以临时修改一下node_modules/bindings/bindings.js。

exports.getfilename = function getfilename (calling_file) {
 var origpst = error.preparestacktrace
  , origstl = error.stacktracelimit
  , dummy = {}
  , filename
 error.stacktracelimit = 10
 error.preparestacktrace = function (e, st) {
  for (var i=0, l=st.length; i<l; i++) {
   filename = st[i].getfilename()
   if (filename !== __filename) {
    if (calling_file) {
      if (filename !== calling_file) {
       return
      }
    } else {
     return
    }
   }
  }
 }
 // run the 'preparestacktrace' function above
 error.capturestacktrace(dummy)
 dummy.stack
 // cleanup
 error.preparestacktrace = origpst
 error.stacktracelimit = origstl
 //in electron, filename starts with "file://"
 var fileschema = "file://";
 if(filename.indexof(fileschema) === 0) {
   filename = filename.substr(fileschema.length);
   //on windows
   if(filename.indexof(":/") == 2){
     filename = filename.substr(1);
   }
 }
 return filename
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对移动技术网的支持。如果你想了解更多相关内容请查看下面相关链接

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网