Does express.js create folder to mirror javascript files?

I've just checked out a nodejs-expressjs-boilerplate project. After I ran it I've discovered there are a lot of directories mirrored from root 'web/' to newly-created 'public/' directory.

I'm writing here because it looks this question is not covered well in the documentation (Or I'm bad at googling expressjs docs, sorry).

  • is that true that 'public/' directory in the project root contains copies of files inside 'web/...' directory?
  • When these copies are created?
  • Are javascript files from 'public/' executed or from 'web/'?
  • Do you experience the same behaviour? Is that expressjs feature or project-specific?
  • Why 'public/' directory is not in '.gitignore'?

Is that true that 'public/' directory in the project root contains copies of files inside 'web/...' directory When these copies are created?

The Gruntile specifies that, yes. At build time files are compiled/copied.
This task is performed when you execute npm start, as you could see from package.json it calls grunt which executes its default task.

Are javascript files from 'public/' executed or from 'web/'?

In web you have .coffee files, those cannot be run in the browser, that is why there's the need for a dir that holds the compiled .js files.

Do you experience the same behaviour? Is that expressjs feature or project-specific?

This tasks are performed by Grunt, express could be used without these features, also without the Jade templates for instance. It depends on what you need.

Why 'public/' directory is not in '.gitignore'?

I honestly don't know, ask the author :D