我正在使用Jekyll和Jekyll Asset Pipeline构建网站,当我生成网站时,我收到以下错误:
Configuration from /home/liamzebedee/Documents/blog/_config.yml
Building site: /home/liamzebedee/Documents/blog -> /home/liamzebedee/Documents/blog/_site
Asset Pipeline: Processing 'css_asset_tag' manifest 'global'
Asset Pipeline: Saved 'global-209b6871f359105f20dc61685687e480.css' to '/home/liamzebedee/Documents/blog/_site/assets'
Asset Pipeline: Processing 'javascript_asset_tag' manifest 'global'
Asset Pipeline: Failed to compress 'global-31b4b6cd8ed5427ca98bb8f30ce0e75e.js' with 'JekyllAssetPipeline::JavaScriptCompressor'.
Liquid Exception: undefined method `exitstatus' for nil:NilClass in content
/var/lib/gems/1.9.1/gems/yui-compressor-0.9.6/lib/yui/compressor.rb:84:in `block in compress'
/var/lib/gems/1.9.1/gems/yui-compressor-0.9.6/lib/yui/compressor.rb:117:in `streamify'
/var/lib/gems/1.9.1/gems/yui-compressor-0.9.6/lib/yui/compressor.rb:66:in `compress'
我真的不确定导致这种情况的原因。这是我的compress.rb
插件,以便使用YUI进行JS压缩:
require 'jekyll_asset_pipeline'
module JekyllAssetPipeline
class JavaScriptCompressor < JekyllAssetPipeline::Compressor
require 'yui/compressor'
def self.filetype
'.js'
end
def compress
return YUI::JavaScriptCompressor.new(munge: true).compress(@content)
end
end
end
答案 0 :(得分:2)
您的压缩方法在new()
的参数中有拼写错误,下面有更正。
def compress
return YUI::JavaScriptCompressor.new(:munge => true).compress(@content)
end
我怀疑这是jekyll-asset-pipeline文档中的错误。