Node.js 在electron(从外部API)中调用prompt()不起作用

Node.js 在electron(从外部API)中调用prompt()不起作用,node.js,ace-editor,electron,Node.js,Ace Editor,Electron,我正在使用电子内部的编辑器。在编辑器中按ctrl+l时,ace将调用prompt()。但Electron不支持prompt(),因此该功能不起作用 大多数GUI工具包中没有本机提示对话框,因此 在AtomShell中实现提示符需要编写提示符 在所有平台上从头开始对话。由于很少使用提示, 我认为它不值得做所有的工作,而且很容易做到 为此,请使用web实现的解决方案 所以我要结束这件事,因为这件事不会解决 现在我已经通过扩展ace解决了这个问题,但是如果还有另一个外部模块调用prompt(),我将

我正在使用电子内部的编辑器。在编辑器中按ctrl+l时,ace将调用
prompt()
。但Electron不支持
prompt()
,因此该功能不起作用

大多数GUI工具包中没有本机提示对话框,因此 在AtomShell中实现提示符需要编写提示符 在所有平台上从头开始对话。由于很少使用提示, 我认为它不值得做所有的工作,而且很容易做到 为此,请使用web实现的解决方案

所以我要结束这件事,因为这件事不会解决

现在我已经通过扩展ace解决了这个问题,但是如果还有另一个外部模块调用
prompt()
,我将不得不再次执行类似的操作。下面的代码绑定到
ctrl+l
,然后将
prompt()
替换为(另一个依赖项),然后调用
gotoLine()

editor.commands.addCommand({
名称:“替换”,
bindKey:{
赢:“Ctrl-l”,
mac:“命令-l”
},
执行:函数(编辑器){
vex.dialog.open({/************提示符()**********
消息:“输入您的行号:”,
按钮:[
$.extend({},vex.dialog.buttons.YES{
文本:“转到行”
})
],
输入:“\n”,
回调:函数(数据){
如果(数据){
编辑:gotoLine(data.line)
编辑:focus()
}
}
})
}
})

理想情况下,我只需实例化另一个模块(只添加一行),该模块将提示符作为一个在electron内部工作的同步函数来实现。我想知道是否已经有了这个模块?

试试smalltalk,它是一个基于承诺的警报、确认和提示解决方案:

我不明白你在问什么。您在将ACE api集成到您的electron应用程序中时遇到问题吗?如果是,具体的问题是什么?嗨,乔希,谢谢你看这个问题。我试图改进我的问题。我希望现在能更好地理解它,因为我的问题不是很清楚。
editor.commands.addCommand({
    name: "replace",
    bindKey: {
        win: "Ctrl-l",
        mac: "Command-l"
    },
    exec: function(editor) {
        vex.dialog.open({ // ********** prompt() **********
            message: 'Enter your line number:',
            buttons: [
                $.extend({}, vex.dialog.buttons.YES, {
                    text: 'goto line'
                })
            ],
            input: "<input name=\"line\" type=\"text\" placeholder=\"line\" required />\n",
            callback: function(data) {
                if (data) {
                    editor.gotoLine(data.line)
                    editor.focus()
                }
            }
        })
    }
})