关于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 相关文章推荐
科讯商业版中用到的ajax空间与分页函数
Sep 02 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
Oct 31 Javascript
jquery实现鼠标拖动图片效果示例代码
Jan 09 Javascript
JS实现简单的键盘打字的效果
Apr 24 Javascript
分享我对JS插件开发的一些感想和心得
Feb 04 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
Oct 08 Javascript
jQuery实现页面顶部下拉广告
Dec 30 Javascript
jquery uploadify如何取消已上传成功文件
Feb 08 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
Jun 09 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
JS实现进度条动态加载特效
Mar 25 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
Jul 26 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
递归列出所有文件和目录
2006/10/09 PHP
php 静态变量的初始化
2009/11/15 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
Python中new方法的详解
2019/01/15 Python
python实现IOU计算案例
2020/04/12 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
python3中数组逆序输出方法
2020/12/01 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
暇步士官网:Hush Puppies
2016/09/22 全球购物
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
化妆师职业生涯规划书
2014/02/16 职场文书
长江三峡导游词
2015/01/31 职场文书
公司聚餐通知
2015/04/22 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
详解PyTorch模型保存与加载
2022/04/28 Python