关于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 变量基础知识
Nov 07 Javascript
select 控制网页内容隐藏于显示的实现代码
May 25 Javascript
js获取或设置当前窗口url参数的小例子
Oct 14 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
Jan 09 Javascript
jquery 鼠标滑动显示详情应用示例
Jan 24 Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
Apr 27 Javascript
JavaScript 下载svg图片为png格式
Jun 21 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 Javascript
JavaScript运动原理基础知识详解
Apr 02 Javascript
vue单应用在ios系统中实现微信分享功能操作
Sep 07 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
对javascript和select部件的结合运用
2006/10/09 PHP
PHP实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
深入理解Python中变量赋值的问题
2017/01/12 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Python学习之os模块及用法
2020/06/03 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
致跳高运动员加油稿
2014/02/12 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
学习十八大宣传标语
2014/10/09 职场文书
党员民主评议自我评价
2014/10/20 职场文书
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL