ฉันต้องการใช้ Sprockets ที่บรรทัดคำสั่ง(กับรูบี้-sprockets Debian ห่อของ)และฉันต้องการใช้ Terser เหมือจาวาสคริปต์ compressor(เพราะ Uglify ไม่สนับสนุน 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)
ฉันแทบเอาหัวโขกกับปัญหานี้สำหรับวิธีมานานเกินไป