关于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 获取函数形参个数
Jul 31 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
Jul 31 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
Dec 27 Javascript
javascript循环链表之约瑟夫环的实现方法
Jan 16 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
Feb 22 Javascript
使用js获取伪元素的content实例
Oct 24 Javascript
vue中实现先请求数据再渲染dom分享
Mar 17 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
May 26 Javascript
js根据需要计算数组中重复出现某个元素的个数
Jan 18 Javascript
vue路由跳转传参数的方法
May 06 Javascript
Vue.js下拉菜单组件使用方法详解
Oct 19 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
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
Add a Table to a Word Document
2007/06/15 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
使用python Django做网页
2013/11/04 Python
十个Python程序员易犯的错误
2015/12/15 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
简单谈谈python基本数据类型
2018/09/26 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
计算机相关的自我评价
2014/01/15 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
二年级小学生评语
2014/04/21 职场文书
留学生求职信
2014/06/03 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
第二次离婚起诉书
2015/05/18 职场文书
高中生军训感言
2015/08/01 职场文书
创业计划书之水果店
2019/07/18 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers