关于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 CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
IE与firefox之jquery用法区别
Oct 03 Javascript
JS高级笔记
Jul 13 Javascript
jquery 无限级联菜单案例分享
Mar 26 Javascript
js数组的操作指南
Dec 28 Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 Javascript
JS中去掉array中重复元素的方法
May 26 Javascript
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
vue引入新版 vue-awesome-swiper插件填坑问题
Jan 25 Javascript
详解vue路由篇(动态路由、路由嵌套)
Jan 27 Javascript
js canvas实现俄罗斯方块
Oct 11 Javascript
Vue-router编程式导航的两种实现代码
Mar 04 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
新52大事件
2020/03/03 欧美动漫
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
ext for eclipse插件安装方法
2008/04/27 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
python实现文件快照加密保护的方法
2015/06/30 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
Python中类的初始化特殊方法
2017/12/01 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
工商技校毕业生自荐信
2013/11/15 职场文书
教师实习自我鉴定
2013/12/11 职场文书
中学生期末评语
2014/02/03 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
贫困证明书范文
2015/06/16 职场文书
MySQL数据库必备之条件查询语句
2021/10/15 MySQL