Preheat your oven to 350°F. Grease a 9×13-inch pan with butter or nonstick spray, or line it with parchment paper for easier cleanup.
In a large mixing bowl, mix the flour, sugar, baking soda, and salt. Add the eggs, vanilla extract, and the can of crushed pineapple with its juice.
Mix everything with a hand mixer or a wooden spoon until the flour is fully combined. The batter will be loose, wet, and slightly rough, as it should be before baking.
Pour the batter into the prepared pan and spread it evenly with a spatula. Bake at 350°F for 30 to 35 minutes.
The cake is done when the top is golden brown, the edges pull away from the pan, and a toothpick inserted in the center comes out clean. About five minutes before the cake is done, start making the frosting.
In a medium saucepan over medium heat, combine the butter, sugar, and evaporated milk. Stir continuously until it gently boils.
Let it bubble for 2 to 3 minutes, stirring constantly, then remove it from the heat. Stir in the shredded coconut, toasted pecans, and vanilla extract. The frosting should be warm, glossy, and slightly loose.
As soon as the cake comes out of the oven, pour the warm frosting over the top. Use a spatula to spread it gently, covering every edge and corner.
Pour it on while both the cake and frosting are hot; if you let the cake cool first, the frosting will sit on top instead of soaking in.
Allow the frosted cake to sit in the pan for 30 to 45 minutes before cutting. This helps the frosting set and lets the cake firm up enough to slice cleanly.