All MCU devices, including the NodeMCU, use General Puropse Input/Output (GPIO) pins. It’s just that for some u known reason, NodeMCU boards screen print D numbers against the pins rather than their GPIO number.
Or GPIO14 and 12. These are safe pins to use for this application, and are LOW by default after boot-up.
Are you certain that your relay is active HIGH? This doesn’t tend to be th norm with the cheap relay boards that you get from China. Some have a jumper to allow you to switch between active HIGH and LOW, but this isn’t that common.
You said in your original post…
But now say…
The reason why I ask, and would like to see the code where you tried unsuccessfully to use PinMode for the LED is that declaring GPIO14 and 12 as Outputs, then immediately writing them LOW at startup is potentially one way to overcome issues with relays, although the symptoms you describe with your relay makes me think that it’s actually active HIGH as I said earlier.
If you want help then you’re better-off volunteering lots of info up-front, or providing it when asked, rather than drip-feeding information then saying contradictory things. Your code, a picture of your relay board and info about testing you’ve done to prove that it is active LOW, info about how you’ve wired the relay board to your MCU etc would potentially all be useful.
Pete.