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
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
继续阅读与本文标签相同的文章
上一篇 :
网站制作中建议你必须特别注意的问题
下一篇 :
我是黄士杰,AlphaGo人肉臂
-
众创空间WeWork暂停中国扩张:大中华区已是第三大市场
2026-05-18栏目: 教程
-
创建人物百科,怎么创建人物百科词条?
2026-05-18栏目: 教程
-
传统制造业牵手人工智能 开启智慧鞍山建设新时代
2026-05-18栏目: 教程
-
详解安检违禁品识别设计方案
2026-05-18栏目: 教程
-
Pdf转excel的简单方法分享
2026-05-18栏目: 教程
