Se suas implantações são feitas por meio de controle de versão, aproveite isso. Use commits sha # s como um buster de cache. Sugerido apenas para arquivos menores onde uma solução mais robusta pode não ser necessária.
vista rubi a la sinatra
<script src="js/main.js?<%= `git rev-parse --short HEAD` %>"></script>
php
<script src="js/main.js?<?php echo trim(shell_exec('git rev-parse --short HEAD')) ?>"></script>