Vreau să folosesc Pinioanele de la linia de comandă (cu ruby-pinioane pachet Debian), și vreau să folosesc Terser ca JavaScript compresor (pentru că Urâți nu are suport ES6). Toate documentele am văzut sugerează că am putea crea un fișier cu următorul cod:
require 'sprockets'
require 'terser'
Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor
să se înregistreze Terser cu Pinioane, și atunci eu tac pe un --require FILE
la chemarea mea la sprockets
la linia de comandă. Știu că e de prelucrare a script-ul, pentru că pot adăuga ceva de genul asta la dosar:
Sprockets.js_compressor = :terser
puts Sprockets.js_compressor
și se imprimă Terser::Compressor
cum s-ar aștepta.
Cu toate ACESTEA. Atunci când am rula pinioane cu ceva similar cu asta:
sprockets --require ./register_compressor.rb --js-compressor=terser ...
Am răspuns:
/usr/lib/ruby/vendor_ruby/sprockets/compressing.rb:63:in `js_compressor=':
unknown compressor: terser (Sprockets::Error)
Am fost cu capul această problemă pentru prea mult timp.