我正在尝试使用Cordova(现在包括Electron)创建Linux桌面应用程序。
我需要一个触发shell命令的按钮:
const exec = require('child_process').exec
document.querySelector('button').onclick = () =>
exec('ls -la', (err, stdout, stderr) => {
console.log(stdout)
})
Electron将Chromium与Node.js集成在一起,但在 cordova 默认被禁用。激活后,我得到以下错误:
Uncaught ReferenceError: require is not defined
注意:这个简单的按钮单击示例在Electron Quick Example上运行良好,但当我尝试使用Cordova + Electron require is not defined
执行相同操作时
是否需要配置额外的参数和/或在不同的作用域中执行index.js
?
任何帮助都将非常感激:)
1条答案
按热度按时间t8e9dugd1#
没有直接的方法。只有在没有Cordova的情况下使用Electron才有可能。您需要在您的Electron的main.js中要求“child_process”。Cordova会自动生成此文件,并且可能会在您更新版本时更新它。您可以手动将上述代码添加到
"www\cdv-electron-main.js"
和"platform_www\cdv-electron-main.js"
中,或者您可以设置一个Cordova挂钩。例如,一个before_run挂钩:在beforeRun.js文件中添加以下代码:
这将把你的常量和单击函数添加到电子的主JS文件中。你可能需要在每次运行前清除,因为钩子会把上面的代码多次添加到文件的末尾。如果需要,你可以设置一个检查器值来防止这种情况。