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


Posted in Javascript onDecember 18, 2018

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
}

总结

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

Javascript 相关文章推荐
JavaScript 动态将数字金额转化为中文大写金额
May 14 Javascript
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
javascript实现连续赋值
Aug 10 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
微信小程序引用iconfont图标的方法
Oct 22 Javascript
30分钟快速实现小程序语音识别功能
Nov 27 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
vue-froala-wysiwyg 富文本编辑器功能
Sep 19 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 Javascript
jQuery 实现扁平式小清新导航
Jul 07 jQuery
微信小程序实现弹幕墙(祝福墙)
Nov 18 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
Dec 18 #Javascript
JS监听滚动和id自动定位滚动
Dec 18 #Javascript
JS实现的tab页切换效果完整示例
Dec 18 #Javascript
CryptoJS中AES实现前后端通用加解密技术
Dec 18 #Javascript
antd组件Upload实现自己上传的实现示例
Dec 18 #Javascript
微信小程序解除10个请求并发限制
Dec 18 #Javascript
vue项目中axios请求网络接口封装的示例代码
Dec 18 #Javascript
You might like
php快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
js操作二级联动实现代码
2010/07/27 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
Python实现从url中提取域名的几种方法
2014/09/26 Python
python格式化字符串实例总结
2014/09/28 Python
python函数的5种参数详解
2017/02/24 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
Python切图九宫格的实现方法
2019/10/10 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
华为的Java面试题
2014/03/07 面试题
机械专业毕业生自荐信
2013/11/02 职场文书
任课老师推荐信范文
2013/11/24 职场文书
专科应届生求职信
2013/11/24 职场文书
英语演讲稿范文
2014/01/03 职场文书
面试后感谢信
2014/02/01 职场文书
企业员工培训感言
2014/02/26 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
三孔导游词
2015/02/05 职场文书
2015年统战工作总结
2015/05/19 职场文书