I am testing out a simple node.js custom module represetned by the processTest.js file in the node.js root directory. Here is its contents: notice that the module.exports includes the one function processTest():
'use strict';
const { spawn } = require( 'child_process' );
const ls = spawn( 'ls', [ '-lh', '/usr' ] );
function runTest() {
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
}
module.exports = runTest;
In the main node.js script we try to invoke it as follows:
const processTest = require("./processTest")
...
http.createServer(app).listen(port, '0.0.0.0', function () {
console.debug(`HTTP: Listening on ${port} ..`)
processTest.runTest();
})
However we get the error
Uncaught TypeError: processTest.runTest is not a function
note that the processTest module is actually present and the function is visible.

processTest()instead?processTest()did not work - I needed to change the module exports as shown in the [soon to be] accepted answer