Rails引擎中的Ember CLI应用程序

Sam*_*off 7 ruby-on-rails rails-engines ember.js ember-cli

我正在制作一个有/admin路线的Rails引擎.我想用Ember CLI创建这个管理界面.

我知道rails会自动预编译生活在我的引擎lib目录中的任何静态JS/CSS ,并且只在父应用程序挂载我的引擎并访问该路由时才加载它们.但是,我想使用Ember CLI来构建管理界面.

这样做有什么好办法?理想情况下,我希望将Ember CLI构建保留在repo之外.

Sam*_*off 2

我的解决方案涉及在引擎中存储 Ember CLI 应用程序的构建版本。

我编写了一个 rake 任务,该任务运行ember build并将静态资源移动到目录distpublic/my-engine,并将这些公共静态资源与主机应用程序的公共文件夹合并。

这是我们特定项目的任务:

namespace :admin do
  task :build do
    Dir.chdir('admin') do
      sh 'ember build  --environment=production'
    end

    # Copy the dist to public
    FileUtils.rm_r 'public/front_end_builds'
    FileUtils.mv 'admin/dist', 'public/front_end_builds'

    # Move the index out of public
    FileUtils.mv 'public/front_end_builds/index.html', 'app/views/front_end_builds/admin/index.html.erb'
  end
end
Run Code Online (Sandbox Code Playgroud)