关于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 相关文章推荐
一段利用WSH修改和查看IP配置的代码
May 11 Javascript
JS图片无缝、平滑滚动代码
Mar 11 Javascript
iframe如何动态创建及释放其所占内存
Sep 03 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
Oct 10 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
javascript循环链表之约瑟夫环的实现方法
Jan 16 Javascript
详解微信小程序Radio选中样式切换
Jul 06 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
AngularJS集合数据遍历显示的实例
Dec 27 Javascript
vue element 生成无线级左侧菜单的实现代码
Aug 21 Javascript
详解TypeScript中的类型保护
Apr 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面试题附答案
2009/01/07 PHP
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
jquery div 居中技巧应用介绍
2012/11/24 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
python日期相关操作实例小结
2019/06/24 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
初中体育教学反思
2014/01/14 职场文书
班级聚会策划书
2014/01/16 职场文书
管理失职检讨书
2014/02/12 职场文书
端午节演讲稿
2014/05/23 职场文书
农民工讨薪标语
2014/06/26 职场文书
召开会议通知范文
2015/04/15 职场文书
花田少年史观后感
2015/06/16 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python