2013-12-18 132 views
1

我遵循這個關於使用jhipster的美麗教程。我可以一起運行Maven和Grunt。我已經能夠使用默認用戶進行身份驗證。我遇到麻煩的地方是創建一個新的實體。創建一個實體

http://jhipster.github.io/creating_an_entity.html

我跑

yo jhipster:entity foo 

然後我的角度JavaScript文件以後作出的index.html文件中三個foo的js文件條目:

foo-router.js 
    foo-controller.js 
    foo-serrvice.js 

預期頁面沒有出現在

http://localhost:8080/#/foo 

我看到下面的控制檯錯誤:

Uncaught ReferenceError: App is not defined foo-router.js:3 
    (anonymous function) foo-router.js:3 
    Uncaught ReferenceError: App is not defined foo-controller.js:3 
    (anonymous function) foo-controller.js:3 
    Uncaught ReferenceError: App is not defined foo-service.js:3 
    (anonymous function) foo-service.js:3 
+0

好吧我設法通過在三個javascript文件中用jhipsterApp替換App來實現它,並且我將它們的引用移至index.html中的所有javascript之後。他們可能只需要出現在定義了jhipsterApp的app.js之後。 –

+0

你也許可以回答你自己的問題,然後標記它解決。 –

回答

0

通常,您的應用程序的名稱應該在您.yo-rc.json文件中讀取(看你的項目的根目錄),它的「名前綴」屬性在該文件中。例如,如果您的應用程序在第一次運行「yo jhipster」時被命名爲「test」,則實體子生成器應該採用該名稱並創建一個「testApp」AngularJS應用程序。

就你而言,它看起來像在.yo-rc.json文件中沒有讀取應用程序名稱:你能檢查那個文件裏面有什麼嗎?

+0

我用一個新的yeoman項目的輸出覆蓋了那個目錄。我的猜測是,我搞砸了,因爲我建立它時遵循的命名約定是項目名稱測試,並且所有其他參數都是默認的。也許我沒有正確遵循實體生成器命名約定。 –

0

.yo-rc -json Julien要求查看輸出的文件存在於項目的根目錄中。

就你而言,它看起來像在.yo-rc.json文件中沒有讀取應用程序名稱:你能檢查那個文件裏面有什麼嗎? --Julien

{ 
    "generator-jhipster": { 
    "packageName": "com.mycompany.myapp", 
    "packageFolder": "com/mycompany/myapp", 
    "hibernateCache": "ehcache" 
} 

我很高興關閉這個問題,雖然朱利安可能想要添加更多。本質上,喲實體發生器

喲jhipster:實體富

有一個錯誤,當我建立了使用默認設置jhipster。否則,我可能誤解了方向,但情況並非如此。

我的解決方法是手動更新應用程序的名稱,並確保我所引用的FOO的app.js

+0

你可以解釋一下這段代碼到底在哪裏以及它是如何解決問題的? –

0

通常情況下,你的應用程序名稱是喜歡你的項目名+應用程序默認的控制文件中定義後的JavaScript文件。假設你的項目名稱是demo,那麼你的應用程序名稱是由jgster default.set設置的Demoapp,但是當你創建一個新的實體時,它不會理解你的應用程序,所以它會在所有foo文件中設置你的應用程序名稱(foo-controller,foo-路線,FOO服務)。

爲了解決這個問題,你可以選擇你的應用程序名稱爲默認控制器文件,並在FOO控制器「應用程序」,FOO服務和Foo路由file.it更換它將很好地工作適合你。