我怎么登记一个压缩机轮的命令行?

0

的问题

我想要使用轮在命令行(与红宝石的轮软件包),并且我想要使用Terser为JavaScript压缩机(因为Uglify不支持ES6). 所有文件我已经看到表明,我可以创建一个文件,与下列代码:

require 'sprockets'
require 'terser'

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

注册Terser与轮,然后我粘上 --require FILE 到我的电话 sprockets 在命令行。 我知道这是处理脚本,因为我可以添加的东西这样的文件:

Sprockets.js_compressor = :terser
puts Sprockets.js_compressor

和它打印 Terser::Compressor 作为一个可能期望。

然而。 当我运行轮用类似于这样的:

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)

我一直在敲打我的头,对这一问题的方式太长。

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

最好的答案

0

好,所以接下来的人,运行成本(显然很少见)的问题,需要修补 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

其他语言

此页面有其他语言版本

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