Инструмент express-generator создает файл с именем bin/www и использует его в качестве основной точки входа в приложение. Кажется, я видел пару других модулей, которые делают то же самое, но подавляющее большинство просто использует index.js.
В чем причина этого? Я конечно понимаю, почему вы разделили сервер и код для настройки программы на отдельные модули, но почему bin/www, а не index.js? Зачем вкладывать основную точку входа в программу на уровне два глубже, чем материал звонки? А также удалить расширение файла, сделав его еще менее описательным?
Есть ли за этим умная, неочевидная причина? Должен ли я использовать это и для своих узловых модулей?
Спасибо!
[редактировать]:
Все хорошие ответы, спасибо, ребята! Я принял вариант, указывающий, что это стандартное поведение для пакетов, содержащих исполняемые файлы. Вот еще несколько чтений, которые я наткнулся на это:



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы привыкли работать npm run, но не сисадмином. Он будет искать исполняемые файлы (атрибут x) в каталоге bin.
Точка входа index.js предназначена для модуля узла. Все пакеты, которые предоставляют команды для запуска на консоли, содержат каталог bin.
Расширение удалено, потому что это не скрипт, а программа. И у них нет расширений.
экспресс-генератор создает базовую структуру для приложения выражать. По соглашению точкой входа приложения является index.js или app.js. Фактически экспресс-генератор создает app.js в корне приложения с начальной настройкой выражать.
Кроме того, по соглашению каталог bin/ используется для двоичных файлов и, как расширение, для сценариев, которые вы можете запускать напрямую (обратите внимание на шебанг в первой строке файла www). В Linux распространено то, что двоичный файл не имеет расширения, и это может объяснить выбор сохранения этой привычки для этого файла.
www, опять же по соглашению, используется для именования веб-приложений (например, /var/www/html на сервере Апачи)
Во всяком случае, как говорится в документации,
The app structure created by the generator is just one of many ways to structure Express apps. Feel free to use this structure or modify it to best suit your needs.
См. также этот ответ, который рассказывает об основной структуре выражать между версиями 3 и 4 с удалением внешнего модуля.