2015-02-11 49 views
5

我剛剛開始重構我們的Ember應用程序以使用豆莢,以便我們的目錄/文件結構更易於管理。同時我已經升級灰燼-CLI所以我用下面的配置下運行:Ember-Cli重構使用豆莢

Ember  : 1.8.1 
Ember Data : 1.0.0-beta.12 
Handlebars : 1.3.0 
jQuery  : 1.11.2 

我已經更新了的environment.js包括以下

modulePrefix: 'emberjs', 
podModulePrefix: 'emberjs/pods', 

我也試圖將其設置爲'app/pod'並且只是'豆莢',但沒有運氣。

的目錄結構如下:

emberjs/ 
    app/ 
     controllers - original location, still has some original controllers here for other parts of the system 
     pods/ 
      job/ 
      parts/ 
       index/ 
        controller.js 
        route.js 
        template.hbs 
       edit/ 
        controller.js 
        route.js 
        template.hbs 

的應用建立好的,如果我在emberjs.js看文件,我可以看到豆莢控制器,路線和模板

的各種定義例如

define('emberjs/pods/job/parts/index/controller', ['exports', 'ember'], function (exports, Ember) { 
define('emberjs/pods/job/parts/index/route', ['exports', 'ember'], function (exports, Ember) { 
define('emberjs/pods/job/parts/index/template', ['exports', 'ember'], function (exports, Ember) { 

所以有些東西正在識別豆莢結構。

但是,當我嘗試訪問此路線時出現問題。我在控制檯中收到一條警告消息,並沒有顯示任何內容 - 基本上它說它可以找到模板abd,它看起來像使用生成的控制器。

generated -> controller:parts Object {fullName: "controller:parts"} 
vendor-ver-1423651170000.js:28585 Could not find "parts" template or view. Nothing will be rendered Object {fullName: "template:parts"} 
vendor-ver-1423651170000.js:28585 generated -> controller:parts.index Object {fullName: "controller:parts.index"} 
vendor-ver-1423651170000.js:28585 Could not find "parts.index" template or view. Nothing will be rendered Object {fullName: "template:parts.index"} 
vendor-ver-1423651170000.js:28585 Transitioned into 'jobs.job.parts.index' 

如果我看在灰燼檢查在Chrome中我看到,在路線部分它顯示部件/指數有部分/指數控制器部件/指數和模板零件/指數的路線。 這是我應該期待的嗎? 我不確定Ember在使用pod時如何解析各個部分。

爲了測試這個,我把模板的一個副本放在templates/parts目錄中並重新加載它。這次它找到了模板並渲染了它,但缺少數據 - 可能是由於它使用了默認路由和控制器。

有沒有人知道我做錯了什麼。我錯過了某個步驟,或配置不正確?

+0

你的路由文件是什麼樣的? – jmurphyau 2015-04-10 20:24:19

+0

在'job'和'job.parts'路由中,嘗試添加一個'template.hbs'文件,其中只有'{{outlet}}'。 – jax 2015-05-12 12:14:02

+0

看一看這個 - http://www.programwitherik.com/ember-pods/ - ,可能會有所幫助 – 2015-06-14 08:54:16

回答

0

嘗試在添加新路線時刪除舊路線/控制器/模板。不要保留兩份。

此外,它可能與您的文件結構無關。嘗試創建一個空白的應用程序並逐個複製文件,以查看問題何時開始發生。如果可能,請使用生成器,然後使用生成器覆蓋生成的文件。