Komut satırında dişli olan bir kompresörü nasıl kaydederim?

0

Soru

Komut satırında Zincir dişlileri kullanmak istiyorum (ruby-sprockets Debian paketi ile) ve JavaScript kompresörü olarak Terser kullanmak istiyorum (çünkü Uglify es6'yı desteklemiyor). Gördüğüm tüm belgeler, aşağıdaki kodla bir dosya oluşturabileceğimi gösteriyor:

require 'sprockets'
require 'terser'

Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor

terser'i Dişlilere kaydettirmek için ve sonra bir --require FILE benim çağrıma sprockets komut satırında. Komut dosyasını işlediğini biliyorum, çünkü dosyaya böyle bir şey ekleyebilirim:

Sprockets.js_compressor = :terser
puts Sprockets.js_compressor

ve yazdırıyor Terser::Compressor olarak düşünülebilir.

ancak. Dişlileri buna benzer bir şeyle çalıştırdığımda:

sprockets  --require ./register_compressor.rb  --js-compressor=terser ...

Cevabı alıyorum :

/usr/lib/ruby/vendor_ruby/sprockets/compressing.rb:63:in `js_compressor=': 
unknown compressor: terser (Sprockets::Error)

Çok uzun zamandır kafamı bu soruna çarpıyorum.

debian ruby sprockets terser
2021-11-22 21:39:12
1

En iyi cevabı

0

Tamam, bu (görünüşte çok nadir görülen) sorunla karşılaşan bir sonraki kişi için, düzeltmeniz gerekiyor Sprockets::Environment.js_compressor=:

module Sprockets
  class Environment < Base
    def js_compressor=(compressor)
      register_compressor 'application/javascript', :terser, Terser::Compressor
      super
    end
  end
end
2021-11-23 18:54:16

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................