Зачем использовать bin / www, а не index.js? - PullRequest
1 голос
/ 01 апреля 2019

Инструмент express-generator создает файл с именем bin/www и использует его в качестве основной точки входа приложения.Я полагаю, что я видел пару других модулей, которые делают это также, но подавляющее большинство просто использует index.js.

Каково обоснование этого?Конечно, я понимаю, почему вы разделяете сервер и код для настройки программы на отдельные модули, но почему bin/www, а не index.js?Зачем вкладывать основную точку входа в программу на два уровня глубже, чем то, что она называет ? И удалить расширение файла, сделав его еще менее описательным?

Есть ли за этим умная, неочевидная причина?Должен ли я использовать это и для моих узловых модулей?

Спасибо!

[править]:

Всем хороших ответов, спасибо, ребята!Я согласился с тем, что это стандартное поведение для пакетов, включающих исполняемые файлы.Вот еще кое-что, с чем я столкнулся:

Ответы [ 2 ]

2 голосов
/ 01 апреля 2019

Вы привыкли запускать npm run, но не системный администратор. Он будет искать исполняемые файлы (атрибут x) в каталоге bin.

Точка входа index.js предназначена для модуля узла. Все пакеты, предоставляющие команды для запуска на консоли, содержат каталог bin.

Расширение удалено, потому что это не скрипт, а программа. И у них нет расширений.

1 голос
/ 01 апреля 2019

Экспресс-генератор Создание базовой структуры для приложения Экспресс . По соглашению точка входа в приложение - index.js или app.js. Фактически, express-generator создает app.js в корне приложения с начальной настройкой express .

Также условно, каталог bin / используется для двоичных файлов, а по расширению для сценариев вы можете запускать напрямую (обратите внимание на шебанг в первой строке файла www). В Linux часто встречается, что бинарный файл не имеет расширения, и это может объяснить выбор сохранения этой привычки для этого файла.

www, опять же по соглашению, используется для именования веб-приложений (например, / var / www / html в Apache server)

Во всяком случае, как говорится в документации,

Структура приложения, созданная генератором, является лишь одним из многих способов структура экспресс-приложений. Не стесняйтесь использовать эту структуру или изменить ее наилучшим образом удовлетворить ваши потребности.

См. Также этот ответ , кто говорит о структуре ядра express между версиями 3 и 4, с удалением внешнего модуля.

...