关于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引用对象的方法代码
Aug 13 Javascript
javascript 验证日期的函数
Mar 18 Javascript
利用json获取字符出现次数的代码
Mar 22 Javascript
JS注释所产生的bug 即使注释也会执行
Nov 19 Javascript
在百度知道团队中快速审批新成员的js脚本
Feb 02 Javascript
js对象继承之原型链继承实例
Jan 10 Javascript
JavaScript常用脚本汇总(三)
Mar 04 Javascript
jquery插件uploadify实现带进度条的文件批量上传
Dec 13 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
利用JQuery直接调用asp.net后台的简单方法
Oct 27 Javascript
详解Angular 自定义结构指令
Jun 21 Javascript
原生js实现表格翻页和跳转
Sep 29 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写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
整理的9个实用的PHP库简介和下载
2010/11/09 PHP
php 学习资料零碎东西
2010/12/04 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
DEFER怎么用?
2006/07/01 Javascript
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
简单谈谈JavaScript的同步与异步
2015/12/31 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
班子个人四风问题整改措施
2014/10/04 职场文书
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python