Grease or spray with baking spray a 13 x 9 -inch baking dish. In a large bowl mix together flour, sugar, baking soda, eggs, vanilla and crushed pineapple (with juice) and beat until well combined.
Pour batter into prepared pan and bake 40-45 minutes or until golden brown.
While cake is baking, heat butter, evaporated milk, vanilla, and sugar in a medium-sized saucepan until it begins to boil over medium-high heat.
Stir in pecans or walnuts and coconut and continue cooking on medium heat about 5 minutes, stirring constantly.
The mixture will thicken slightly.
Removed baked cake from oven and poke holes all over the top using a wooden chopstick or the tines of a large serving fork.
Spread topping evenly over top of warm cake and let cool.