Si uno quiere iniciar un proyecto en Node.js con express. uno usaría express-generator . Después de crear un nuevo proyecto, su árbol de archivos se verá así
. ├── app.js ├── bin │ └── www ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ ├── index.js │ └── users.js └── views ├── error.pug ├── index.pug └── layout.pug Una cosa que me llamó la atención es que para ejecutar la aplicación necesitas hacer node bin/www o un atajo predefinido npm run . Mi pregunta es ¿por qué uno usaría www tal como está y no agregaría una extensión .js y eliminaría #!/usr/bin/env node de la parte superior del archivo? ¿Hay algún beneficio de hacerlo de esta manera o es una preferencia personal?
Veamos la primera línea del archivo bin/www :
#!/usr/bin/env node Este shebang le dice al sistema operativo * nix cómo interpretar el archivo si intenta ejecutarlo como un programa.
Entonces este archivo se puede iniciar como un programa. Y en Linux tradicionalmente los archivos ejecutables no tienen extensión.