关于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 相关文章推荐
js+FSO遍历文件夹下文件并显示
Mar 07 Javascript
jQuery 工具函数学习资料
Apr 29 Javascript
javascript 拖动表格行实现代码
May 05 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
Jan 09 Javascript
js实现鼠标跟随运动效果
Aug 02 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
vue 引入公共css文件的简单方法(推荐)
Jan 20 Javascript
element UI upload组件上传附件格式限制方法
Sep 04 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
Jul 25 Javascript
JavaScript中this函数使用实例解析
Feb 21 Javascript
springboot+vue实现文件上传下载
Nov 17 Vue.js
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 设计模式之 单例模式
2008/12/19 PHP
smarty简单分页的实现方法
2014/10/27 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
PHP ElasticSearch做搜索实例讲解
2020/02/05 PHP
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
跟老齐学Python之dict()的操作方法
2014/09/24 Python
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python实现大文件排序的方法
2015/07/10 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
Java程序员面试90题
2013/10/19 面试题
自我鉴定范文
2013/11/10 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
法人委托书范本
2014/04/04 职场文书
商务英语专业求职信
2014/06/26 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
无房证明范本
2014/09/17 职场文书
离职报告格式
2014/11/04 职场文书
检讨书范文300字
2015/01/28 职场文书