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

 更新时间:2018年12月18日 11:57:19   作者:李先静  
今天小编就为大家分享一篇关于关于node-bindings无法在Electron中使用的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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
}

总结

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

相关文章

  • 参考EventEmitter实现完整订阅发布功能函数

    参考EventEmitter实现完整订阅发布功能函数

    这篇文章主要为大家介绍了参考EventEmitter实现完整订阅发布功能函数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • node.js express cors解决跨域的示例代码

    node.js express cors解决跨域的示例代码

    在Web开发中,当一个网页的源与另一个网页的源不同时,就发生了跨域,本文就来介绍一下node.js express cors解决跨域的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 使用iojs的jsdom库实现同步系统时间

    使用iojs的jsdom库实现同步系统时间

    本文给大家分享的是使用iojs的jsdom库实现与http://open.baidu.com/special/time/ 同步系统时间。思路非常的清晰,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-04-04
  • Node.js如何实现注册邮箱激活功能 (常见)

    Node.js如何实现注册邮箱激活功能 (常见)

    今天了解了node如何实现邮箱激活功能,这个功能非常常见,当我们注册一个账号时,肯定会有这步,下面看下如何实现这个功能
    2017-07-07
  • node.js适合游戏后台开发吗?

    node.js适合游戏后台开发吗?

    这篇文章主要介绍了node.js适合游戏后台开发吗?node.js是不是能代替C++开发游戏后台呢?看完本文我想你会有一定的了解了,需要的朋友可以参考下
    2014-09-09
  • 解决linux下node.js全局模块找不到的问题

    解决linux下node.js全局模块找不到的问题

    今天小编就为大家分享一篇解决linux下node.js全局模块找不到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 基于Nodejs利用socket.io实现多人聊天室

    基于Nodejs利用socket.io实现多人聊天室

    这篇文章讲述了websocket无到有,根据协议,分析数据帧的头,进行构建websocket。虽然代码短,但可以很好地体现websocket的原理。对nodejs利用socket 实现多人聊天室功能感兴趣的朋友一起看看吧
    2017-02-02
  • 基于node.js之调试器详解

    基于node.js之调试器详解

    下面小编就为大家带来一篇基于node.js之调试器详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 快速删除node_modules的几种方式小结

    快速删除node_modules的几种方式小结

    这篇文章主要介绍了快速删除node_modules的几种方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • node.js中 redis 的安装和基本操作示例

    node.js中 redis 的安装和基本操作示例

    这篇文章主要介绍了node.js中 redis 的安装和基本操作,结合实例形式分析了node.js中Redis下载、安装、数据类型及基本操作技巧,需要的朋友可以参考下
    2020-02-02

最新评论