Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用ElectronJS运行NodeJS脚本 客观的_Javascript_Node.js_Electron_Puppeteer - Fatal编程技术网

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)
    }
    
}