Guard-Uglify抛出“只允许生成一代JSON对象或数组”

时间:2013-08-24 00:01:51

标签: ruby guard uglifyjs

我正在尝试使用后卫ugglify javascript但我得到以下错误:

  

错误 - Guard :: Uglify未能实现,例外是:   [#] JSON :: GeneratorError:只允许生成JSON对象或数组   [#] C:/Ruby193/lib/ruby/1.9.1/json/common.rb:216:in generate' [#] C:/Ruby193/lib/ruby/1.9.1/json/common.rb:216:in generate'   [#] C:/Ruby193/lib/ruby/1.9.1/json/common.rb:352:in dump' [#] C:/Ruby193/lib/ruby/gems/1.9.1/gems/execjs-2.0.0/lib/execjs/external_runtime.rb:53:in块(2级)编译'   [#] C:/Ruby193/lib/ruby/gems/1.9.1/gems/execjs-2.0.0/lib/execjs/external_runtime.rb:51:in sub!' [#] C:/Ruby193/lib/ruby/gems/1.9.1/gems/execjs-2.0.0/lib/execjs/external_runtime.rb:51:in block in compile'   [#] C:/Ruby193/lib/ruby/gems/1.9.1/gems/execjs-2.0.0/lib/execjs/external_runtime.rb:47:in tap' [#] C:/Ruby193/lib/ruby/gems/1.9.1/gems/execjs-2.0.0/lib/execjs/external_runtime.rb:47:in compile'

我正在使用json 2.0.0(也尝试使用1.8.0)和mutli-json 1.7.8(也尝试过1.7.9)

修改

Guardfile中的代码

guard 'uglify', :destination_file => "js/scripts.min.js" do
  watch 'js/scripts.min.js'
end

2 个答案:

答案 0 :(得分:1)

这应该与您的javascript代码无法正确格式化相关联。

如果您不知道错误的位置,可以尝试单独解析部分代码,直到找到引发错误的部分。

答案 1 :(得分:1)

请你显示调用Guard的uglify的代码。

它可能链接到您传递给Guard的对象。 =>你需要读取文件并解析它。

    JSON.parse(string or file read)