मैं का उपयोग करना चाहते हैं Sprockets कमांड लाइन पर (के साथ रूबी-sprockets डेबियन पैकेज), और मैं का उपयोग करना चाहते हैं Terser के रूप में जावास्क्रिप्ट कंप्रेसर (क्योंकि बदसूरत करना का समर्थन नहीं करता है ES6). सभी प्रलेखन मैंने देखा है पता चलता है कि मैं कर सकते हैं बनाने के लिए एक फ़ाइल में निम्न कोड:
require 'sprockets'
require 'terser'
Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor
रजिस्टर करने के लिए Terser के साथ Sprockets, और फिर मैं एक पर हमले --require FILE
करने के लिए अपने कॉल करने के लिए sprockets
कमांड लाइन पर. मैं जानता हूँ कि यह प्रसंस्करण स्क्रिप्ट, क्योंकि मैं कुछ जोड़ सकते हैं इस तरह से फाइल करने के लिए:
Sprockets.js_compressor = :terser
puts Sprockets.js_compressor
और यह प्रिंट Terser::Compressor
के रूप में एक उम्मीद हो सकती है.
तथापि. जब मैं चलाने के लिए sprockets के साथ कुछ इस तरह:
sprockets --require ./register_compressor.rb --js-compressor=terser ...
मैं प्रतिक्रिया प्राप्त:
/usr/lib/ruby/vendor_ruby/sprockets/compressing.rb:63:in `js_compressor=':
unknown compressor: terser (Sprockets::Error)
मैंने किया गया है के खिलाफ मेरे सिर पीटने के लिए इस समस्या का रास्ता बहुत लंबा है.