По умолчанию приложение Rails, установленное rails new
, имеет config.assets.compile = false
.
И обычный способ сделать это - запустить rake assets:precompile
перед развертыванием вашего приложения, чтобы убедиться, что все активы конвейера активов скомпилированы.
Итак, что произойдет, если я установил config.assets.compile = true
в production?
Мне больше не нужно будет запускать precompile
. То, что, как я полагаю, произойдет, - это первый раз, когда запрашивается актив, он будет скомпилирован. Это будет первое поражение производительности (и это означает, что вам обычно требуется время выполнения js в процессе производства). Но, помимо этих недостатков, после того, как актив был лениво скомпилирован, я думаю, что весь последующий доступ к этому ресурсу не будет иметь производительности, производительность приложения будет точно такой же, как и с предварительно скомпилированными активами после этой первоначальной ленивой компиляции первого попадания. это правда?
Есть ли что-то, что мне не хватает? Любые другие причины не устанавливать config.assets.compile = true
в процессе производства? Если у меня есть время выполнения JS в производстве, и я готов принять компромисс пониженной производительности для первого доступа к ресурсу, в обмен на отсутствие необходимости запускать precompile
, имеет ли это смысл?