Javascript 无法使用ElectronJS运行NodeJS脚本 客观的
我在Javascript 无法使用ElectronJS运行NodeJS脚本 客观的,javascript,node.js,electron,puppeteer,Javascript,Node.js,Electron,Puppeteer,我在project/api文件夹中单独编写脚本。以test.js为例,我正在通过模块导出它。exports,现在我运行我的电子窗口,并使用按钮id=“startTask”函数onclick()创建一个JavaScript文件。现在我想在点击按钮时执行这个test.js 但它不起作用 test.js HTML+JS 输出 对于一个简单的程序,它执行脚本,但我的程序需要木偶演员 我面临的问题是什么?您没有等待测试调用,因此程序很可能会在有机会启动函数中的网页之前运行到结束 将代码更改为: docu
project/api
文件夹中单独编写脚本。以test.js
为例,我正在通过模块导出它。exports
,现在我运行我的电子窗口,并使用按钮id=“startTask”
函数onclick()
创建一个JavaScript文件。现在我想在点击按钮时执行这个test.js
但它不起作用
test.js
HTML+JS
输出
对于一个简单的程序,它执行脚本,但我的程序需要木偶演员
我面临的问题是什么?您没有等待
测试调用,因此程序很可能会在有机会启动函数中的网页之前运行到结束
将代码更改为:
document.getElementById("startTask").onclick = async () =>{
try{
console.log("working")
await test();
} catch(err){
console.log(err)
}
}
解决方案
在第一次尝试时,它打开了一个黑色的chrome窗口,然后我再次尝试,结果什么都没有,它只是显示在控制台上工作,但没有启动其他脚本。
//This is located in my 'project/src' folder
//This is button.html
<button id="startTask" class = "btn btn-primary"> Start </button>
<script src="./button.js"></script>
//This is button.js
const test = require('../api/test');
document.getElementById("startTask").onclick = () =>{
try{
console.log("working")
test();
} catch(err){
console.log(err)
}
}
async function test(){
console.log("Great Cool Awesome")
}
module.exports = test;
document.getElementById("startTask").onclick = async () =>{
try{
console.log("working")
await test();
} catch(err){
console.log(err)
}
}
//In button.js
const { remote } = require("electron");
const test = remote.require('./api/test');
document.getElementById("startTask").addEventListener('click', runScript)
async function runScript(){
try{
console.log('Running The Script')
await test();
}catch(err){
console.log(err)
}
}