Hi averyone. Need help. I got the issue in Node-red
require() of ES modules is not supported.
require() of /home/ubuntu/scalar-crm-integration/externalModules/node_modules/node-fetch/src/index.js from /usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/externalModules.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/ubuntu/scalar-crm-integration/externalModules/node_modules/node-fetch/package.json.```
Hi @Tonna100
please share some details on what you are trying to do, where you see that message and what it is related to.
My node-red application hosted on AWS Linux server and managed by pm2. I try to export external modules to function node like moment or node-fetch and get thise issue. But I have not any troubles on my local machine
"Error: Function node failed to load external modules"
What version of node.js are you using on the server?
Where are you seeing that message exactly?
How are you trying to use the externalModules option?

Code example:
const getResourse = async (url, headers, retries = 3) => {
const response = await fetch(url, headers);
if (response.status !== 200) {
if (retries > 0) {
return getResourse(url, headers, retries - 1);
} else {
return {'statusCode':response.status, 'message':response.statusText};
}
}
return await response.json();
}
On the local machine thise code works
What version of Node-RED have you got on the server?
To use ESM modules with Node-RED you'll need Node-RED 2.x.
Ok. But I have node-red the same version on my local machine and it works fine
Check to see if you have the same version of node-fetch installed in both places. Perhaps you have an older version locally that can be required, rather than imported.
The fact remains, Node-RED wasn't updated to use import for external modules until 2.x.
Thank you for your help. I will try to update Node-red application to 2.x version