2014-11-14 70 views
7

我正在製作一個具有/admin路線的Rails引擎。我想用Ember CLI創建這個管理界面。Ember CLI應用程序在Rails引擎內

我知道rails會自動預編譯我的引擎的lib dir中的任何靜態JS/CSS,並且只在父應用程序掛載我的引擎並訪問該路由時加載它們。但是,我想使用Ember CLI構建管理界面。

什麼是一個很好的方法來做到這一點?理想情況下,我想讓Ember CLI從回購協議中構建出來。

+1

已經解決了嗎?我用它來開發作爲獨立項目的ember-cli應用程序,並在rails項目中使用ember-rails gem for ember應用程序。從Ember2.0開始,我想在我的主要導軌項目中引入ember-cli,但不會失去附加組件,涼亭,西蘭花等的優點。 – Fabio 2015-01-24 12:46:21

+1

我編寫了一個運行'ember build'的耙子任務, static'dist'放入'public/my-engine'中,並將這些公共靜態資產與主機應用程序的'public'文件夾合併。所以,我還沒有找到避免構建步驟的方法。 – 2015-01-24 14:47:05

回答

2

我的解決方案涉及在引擎中存儲Ember CLI應用程序的構建。

我寫的運行ember build和移動靜態distpublic/my-engine目錄,併合並這些公共靜態資產與主機應用程序的公用文件夾rake任務。

下面是our particular project任務:

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 
相關問題