关于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 相关文章推荐
通过ifame指向的页面高度调整iframe的高度
Oct 05 Javascript
最近项目写了一些js,水平有待提高
Jan 31 Javascript
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
May 08 Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
Nov 24 Javascript
JS模拟的Map类实现方法
Jun 17 Javascript
jQuery简单创建节点的方法
Sep 09 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
React 实现车牌键盘的示例代码
Dec 20 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 管理系统程序中的后门
2009/08/05 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
vue2.0+webpack环境的构造过程
2016/11/08 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python编写简单爬虫资料汇总
2016/03/22 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
python 同时运行多个程序的实例
2019/01/07 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
通过实例解析python描述符原理作用
2020/01/22 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
Python如何实现定时器功能
2020/05/28 Python
基于python实现坦克大战游戏
2020/10/27 Python
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
《东方明珠》教学反思
2014/04/20 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
nginx常用配置conf的示例代码详解
2022/03/21 Servers
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript