Express должен отображать шаблон на лету — возможно, я что-то упустил в настройке SailsJS. Если это так, этот вопрос может помочь: Sails Приложение .js не обновляет файлы из ресурсов после запуска.
Что касается других вещей в этой области, которые могут работать не так гладко:
В типичной настройке, возможно, в отличие от PHP, вы должны развернуть весь сайт, а не только один файл. В основном это связано с тем, что вы используете Node.JS как автономную службу и хотите, чтобы все, что относится к этому экземпляру, было упаковано вместе в каждом развертывании. Не говоря уже о том, что вы, вероятно, никогда не захотите беспокоиться о накладных расходах, связанных с мониторингом файловой системы на наличие изменений, поэтому такое поведение наиболее полезно в среде разработки.
Это также означает, что если вы обслуживаете статические файлы, вам, вероятно, следует настроить свой веб-сервер так, чтобы он обслуживал их напрямую из файловой системы, а не позволять вашему приложению узла обслуживать их. Фактически, одно только это может сократить время загрузки вашего ресурса в 5-10 раз.
Настройка, которую я обычно использую для своих приложений, такова: git для развертывания вашего приложения (используя хук post-receive) и daemontools, чтобы убедиться, что служба остается в рабочем состоянии. Это даст вам удобную настройку развертывания, аналогичную Heroku или Nodejitsu.
Я считаю, что это обычная установка для производственных систем Node.JS. И после моего собственного исследования того, что было доступно около года назад, на самом деле не было ничего, что я бы считал надежным и надежным (включая Forever) с точки зрения того, какие годы *nix сообщество уже выполнило.
daemontools намного превосходит даже многие другие менеджеры сервисов *nix, но он не используется повсеместно, потому что его автор, DJB, считает, что программное обеспечение не должно заниматься такими вещами, как сервис. Именно это делает его идеальным для приложений Node.JS, хотя и немного менее идеальным для многих приложений Unix, которые все еще создаются как автономные сервисы (хотя многие программы могут работать с daemontools, позволяя не- режим демона, не все программное обеспечение будет, а это означает, что дистрибутивы должны разрабатывать свои собственные решения).
При этом вы не всегда можете гарантировать, что служба не выйдет из строя с узлом, и что эти сбои не загрязнят ресурсы сервера, даже если вы сможете их «поймать». Почти лучше работает запись исключений в журнал или электронное письмо, позволяющая службе дать сбой, залог и очистку, а затем daemontools автоматически отключит ее. Подробнее об обработке ошибок в Node.JS можно прочитать здесь: http://nodejs.org/api/domain.html
person
Bobby
schedule
25.08.2014