关于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 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
May 25 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
Jun 15 Javascript
JS根据年月获得当月天数的实现代码
Jul 03 Javascript
详解addEventListener的三个参数之useCapture
Mar 16 Javascript
javascript多物体运动实现方法分析
Jan 08 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
Sep 05 Javascript
常用原生js自定义函数总结
Nov 20 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
vue源码入口文件分析(推荐)
Jan 30 Javascript
Vue实现滑动拼图验证码功能
Sep 15 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 str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
python定时器使用示例分享
2014/02/16 Python
Python collections模块实例讲解
2014/04/07 Python
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
python exit出错原因整理
2020/08/31 Python
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
办公室主任职责范本
2014/03/07 职场文书
美术指导助理求职信
2014/04/20 职场文书
项目工作说明书
2014/07/29 职场文书
民主评议党员工作总结
2014/10/20 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
python中使用redis用法详解
2022/12/24 Redis