Nodejs无法读取addEventListner Null的属性

时间:2018-05-15 17:39:15

标签: node.js child-process

我正在尝试制作一个按钮,运行命令提示符为我的程序安装软件我的nodejs是,

$( "install" ).addEventListener('click',() => {
    var child_process = require('child_process');
    child_process.exec('test.bat', function(error, stdout, stderr) {
        console.log(stdout);
})});

和html

<button type="button" class="btn btn-outline-installer" id="install">Run Installer</button>

js文件包含在html中,当我运行我的应用程序但它返回:

C:\Users\ninja_000\Desktop\tron-gui\index.js:20 Uncaught TypeError: Cannot read property 'addEventListener' of null
    at Object.<anonymous> (C:\Users\ninja_000\Desktop\tron-gui\index.js:20)
    at Object.<anonymous> (C:\Users\ninja_000\Desktop\tron-gui\index.js:25)
    at Module._compile (module.js:569)
    at Object.Module._extensions..js (module.js:580)
    at Module.load (module.js:503)
    at tryModuleLoad (module.js:466)
    at Function.Module._load (module.js:458)
    at Module.require (module.js:513)
    at require (internal/module.js:11)
    at index.html:30

感谢帮助test.bat与GUI

位于同一文件夹中

1 个答案:

答案 0 :(得分:0)

首先,Node.js是一种服务器端语言,无论如何都不会听你按钮上的事件。

你在谈论的是Javascript应该做什么。

其次,如果您指的是在JQuery中安装了id的按钮,则需要使用#install。

第三,您将服务器端编程和客户端编程结合在一起。您无法从Javascript触发child_process。这是一个node.js API,因此你无法运行你想要运行的bat文件。