关于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 相关文章推荐
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
Mar 18 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
Apr 24 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
js闭包实现按秒计数
Apr 23 Javascript
跟我学习javascript的arguments对象
Nov 16 Javascript
jQuery中的Deferred和promise 的区别
Apr 03 Javascript
Bootstrap每天必学之导航组件
Apr 25 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
移动端效果之Swiper详解
Oct 09 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 Javascript
ES6函数和数组用法实例分析
May 23 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+DBM的同学录程序(2)
2006/10/09 PHP
php项目打包方法
2008/02/18 PHP
php中JSON的使用与转换
2015/01/14 PHP
php给图片加文字水印
2015/07/31 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
yii2多图上传组件的使用教程
2018/05/10 PHP
js 替换
2008/02/19 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
使用matplotlib画散点图的方法
2018/05/25 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
Python3.5运算符操作实例详解
2019/04/25 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
高中军训感言1000字
2014/03/01 职场文书
企业节能减排实施方案
2014/03/19 职场文书
艺术节主持词
2014/04/02 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书