Notice you don’t need to include public in the path you reference.
https://www.youtube.com/watch?v=hHcoBZkVLY0
Learn more about using static content in ExpressJS on this YouTube video.
The key to making the public folder the source of your static content is to use the express.static function and provide it a specific directory.
app.use(express.static(path.join(__dirname, 'public')));
You can of course have as many static content folders, all you need to do is duplicate the above line and specify a different folder.