Chcem použiť Prevodov v príkazovom riadku (s ruby-reťazové kolesá Debian balíček), a chcem použiť Terser ako JavaScript kompresora (pretože Uglify nepodporuje ES6). Všetky doklady som videl naznačuje, že môžem vytvoriť súbor s nasledujúcim kódom:
require 'sprockets'
require 'terser'
Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor
zaregistrovať Terser s Prevodov, a potom som sa nehne na --require FILE
na moje pozvanie k sprockets
v príkazovom riadku. Viem, že je to spracovanie skriptu, pretože môžem pridať niečo takého súboru:
Sprockets.js_compressor = :terser
puts Sprockets.js_compressor
a to výtlačkov Terser::Compressor
ako by človek očakával.
VŠAK. Keď som spustiť reťazové kolesá s niečo podobné tomuto:
sprockets --require ./register_compressor.rb --js-compressor=terser ...
Dostanem odpoveď:
/usr/lib/ruby/vendor_ruby/sprockets/compressing.rb:63:in `js_compressor=':
unknown compressor: terser (Sprockets::Error)
Bol som búchanie hlavou proti tento problém pre príliš dlho.