1

我遵循了这个关于使用 jhipster 的漂亮教程。我能够同时运行 Maven 和 Grunt。而且我已经能够使用默认用户进行身份验证。我遇到麻烦的地方是创建一个新实体。

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

我跑了

    yo jhipster:entity foo

然后我在 angular 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
4

3 回答 3

0

通常应该在 .yo-rc.json 文件中读取应用程序的名称(查看项目的根目录),它是该文件中的“baseName”属性。

例如,如果您的应用程序在您第一次运行“yo jhipster”时被命名为“test”,那么实体子生成器应该采用该名称并创建一个“testApp”AngularJS 应用程序。

在您的情况下,看起来应用程序名称未在 .yo-rc.json 文件中读取:您可以检查该文件中的内容吗?

于 2013-12-19T21:17:14.987 回答
0

.yo-rc-.json Julien 请求查看输出的文件存在于项目的根目录中。

在您的情况下,看起来应用程序名称未在 .yo-rc.json 文件中读取:您可以检查该文件中的内容吗?——朱利安

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

我很高兴结束这个问题,尽管 Julien 可能想要添加更多内容。本质上是 yo 实体生成器

哟 jhipster:entity foo

当我使用 jhipster 的默认设置构建时有一个错误。否则我可能误解了方向,但事实并非如此。

我的解决方法是手动更新应用程序名称,并确保我在 app.js 之后引用了 foo javascript 文件

于 2013-12-20T15:15:31.317 回答
0

通常,您的应用名称是在默认控制器文件中定义的,例如您的 projectName+app。假设您的项目名称是 demo 那么您的应用程序名称是由 jhipster 默认设置的 Demoapp。但是当您创建一个新实体时,它将无法理解您的应用程序,因此它将在所有 foo 文件中设置您的应用程序名称(foo-controller,foo-路线,foo 服务)。

为了解决这个问题,您可以为默认控制器文件选择您的应用程序名称,并将其替换为 foo-controller、foo-service 和 foo-route 文件中的“app”。它对您来说可以正常工作。

于 2014-01-21T08:14:44.873 回答