Preheat the oven to 350°F.
Lightly grease a 9x13-inch baking pan with butter, then dust it with flour.
In a large mixing bowl, combine the baking soda, granulated sugar, vanilla extract, eggs, all-purpose flour, and crushed pineapple.
Using an electric hand mixer, mix until the ingredients are fully combined and the batter is smooth.
Pour the batter evenly into the prepared baking pan.
Place the pan on the center rack of the oven.
Bake for 40 to 45 minutes, or until the cake is golden and a toothpick inserted into the center comes out clean.
Remove the cake from the oven.
While the cake is still warm, poke holes across the top using the handle of a wooden spoon or the tines of a fork.
Allow the cake to cool for 10 minutes.
To prepare the topping, combine the evaporated milk, butter, granulated sugar, and vanilla extract in a medium saucepan.
Place the saucepan over medium heat and bring the mixture to a boil, stirring frequently.
Add the shredded coconut and chopped pecans.
Continue cooking for 5 minutes, stirring constantly, until the topping thickens slightly.
Pour the warm coconut pecan topping evenly over the cake.
Spread the topping gently so it covers the entire surface.
Allow the topping to settle slightly before slicing.
Serve warm or at room temperature.
If desired, serve each slice with whipped cream or whipped topping.