How to fix 12V RGB LED Strip connection to NodeMCU?
So now we finally know the reason is MOSFET's threshold voltage is too high. The solution is to drive the gate with NPN transistor (you can use BC547 or 2N5551 or similar). You have to connect it's collector to 5 V and it's emitter to GND. Put 10k or 100k resistor between 5 V and the collector, connect the collector to MOSFET's gate and GPIO to the base of NPN transistor. Put some resistor between GPIO and the base of the transistor, maybe 4k7 or similar.

Note:
HIGH from GPIO will switch off the LED strip and LOW will switch it on.

Another solution is to use MOSFET with lower threshold voltage.

EDIT:
If you want to avoid adding NPN transistor you can use NTD5867NL MOSFET which has max threshold voltage 2.5 V so it will for sure work with 3.3 V at the gate but is rather expensive (about $4). Much better solution is adding cheap NPN transistor.

EDIT:
Here is the schematic:







simulate this circuit &ndash; Schematic created using CircuitLab

EDIT:
Here is the correct wiring: