rake预编译资产在rake资产时失败:预编译 - 基本上是空的application.js

asa*_*rig 9 ruby-on-rails precompiled

运行:

bundle exec rake assets:precompile RAILS_ENV=production --trace

** Execute assets:precompile:primary
rake aborted!
TypeError: Object doesn't support this property or method
  (in C:/Sites/MyApp/app/assets/javascripts/application.js)
Run Code Online (Sandbox Code Playgroud)

以下是整个内容application.js:

//= require jquery
//= require jquery_ujs
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

没有别的.

我试图删除 //= require三行application.js,然后预编译运行没有问题.

Ale*_*tie 13

看起来它可能是uglifier和Windows Script Host的问题:

https://github.com/rails/rails/issues/2847

确保您使用的是最新版本的uglifier(1.0.4).如果你还有问题,我建议尝试不同的编译器(例如Closure编译器)

Gemfile:

gem 'closure-compiler'
Run Code Online (Sandbox Code Playgroud)

config/environments/production.rb

config.assets.js_compressor = :closure
Run Code Online (Sandbox Code Playgroud)

或者完全禁用JS压缩:

config.assets.compress = false
Run Code Online (Sandbox Code Playgroud)