【问题标题】:ngCkeditor and Ckeditor, deploying assetsngCkeditor 和 Ckeditor,部署资产
【发布时间】:2014-06-13 12:22:40
【问题描述】:

我有一个 Rails 应用程序,用户可以通过它来检索一些资产,例如 angular、angular-plugins 和 ng-Ckeditor。当我尝试部署我的应用程序时,我的主要问题是上述错误。 我找不到发生了什么,我认为这可能是 ckeditor gem 和 bower 的 ng-ckeditor 的一些问题。 在错误消息下,我将粘贴我的 production.rb、deploy、gemfile 以便告诉我您是否发现有问题。

ExecJS::ProgramError: Unexpected token: eof (undefined) (line: 11, col: 0, pos: 286)

Error

at new JS_Parse_Error (/tmp/execjs20140613-30493-1mkpf99js:2357:10754)
at js_error (/tmp/execjs20140613-30493-1mkpf99js:2357:10973)
at croak (/tmp/execjs20140613-30493-1mkpf99js:2357:19198)
at token_error (/tmp/execjs20140613-30493-1mkpf99js:2357:19335)
at unexpected (/tmp/execjs20140613-30493-1mkpf99js:2357:19423)
at block_ (/tmp/execjs20140613-30493-1mkpf99js:2357:24668)

at ctor.body (/tmp/execjs20140613-30493-1mkpf99js:2357:24322)
at function_ (/tmp/execjs20140613-30493-1mkpf99js:2357:24387)
at expr_atom (/tmp/execjs20140613-30493-1mkpf99js:2357:27439)

at maybe_unary (/tmp/execjs20140613-30493-1mkpf99js:2357:30108)
(in /home/******/site/shared/bundle/ruby/2.1.0/bundler/gems/ckeditor-84ef6a7e3ee8/app/assets/javascripts/ckeditor/override.js.erb)

生产.rb

config.assets.precompile << Rails.root.join('vendor', 'assets', 'bower_components')
config.assets.precompile += Ckeditor.assets

部署.rb

before 'deploy:assets:precompile', 'deploy:assets:install'
namespace :deploy do
  namespace :assets do
    desc 'install asset dependencies'
      task :install do
      run "cd #{latest_release} && bundle exec rake bower:clean"
      run "cd #{latest_release} && bundle exec rake bower:update:prune['--config.interactive=false']"
      run "cd #{latest_release} && rm vendor/assets/bower_components/ng-ckeditor/LICENSE"
      run "cd #{latest_release} && mv vendor/assets/bower_components/ng-ckeditor/src/styles/ng-ckeditor.less vendor/assets/bower_components/ng-ckeditor/src/styles/ng-ckeditor.scss"
    end
  end
end

Application.js 和 admin/application.js

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery_nested_form
//= require ckeditor/override
//= require ckeditor/init
//= require underscore-min
//= require microplugin
//= require sifter.min
//= require selectize.min
//= require isotope.pkgd.min
//= require fit-columns
//= require jquery.screwdefaultbuttonsV2
//= require fancySelect
//= require flash
//= require notifications
//= require reviews
//= require raty
//= require how
//= require teachers
//= require init
//= require angular
//= require angular-resource
//= require angular-xeditable
//= require angular-sanitize
//= require angular-bootstrap
//= require ng-ckeditor
//= require app
//= require_tree ./angular

重要的是,当我从 application.js(+admin) 中删除时,ckeditor/override 部署完成,但 gem 的 ckeditor 与 ng-ckeditor 的播放并不矛盾,继续播放

我相信 ng-ckeditor 会初始化它自己的 ckeditor。

【问题讨论】:

    标签: ruby-on-rails deployment capistrano asset-pipeline bower


    【解决方案1】:

    对于任何可能需要帮助的人,我解决了这个问题

    config.assets.js_compressor = Uglifier.new(mangle: false)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      相关资源
      最近更新 更多