JHipster /微服务前端开发热重装

时间:2019-03-08 07:05:21

标签: docker-compose microservices jhipster browser-sync

我已经创建了一个JHipster微服务应用程序,并希望对其进行一些前端开发。使用docker-compose up -d在./docker-compose/目录中启动整个微服务堆栈可以正常工作。注册表显示状态为“启动”的所有微服务,网关和UAA实例。没有异常抛出。登录http://localhost:8080可以正常工作。 在网关项目目录中启动yarn start,将通过webpack和browsersync启动开发服务器。将浏览器指向http://localhost:9000时,热重装可以正常工作。

由于我的问题,我无法以用户身份登录http://localhost:9000,因为无法检索该帐户。引发的异常是无关紧要的,因为它仅说明该帐户为空:

webpack-internal:///…fesm5/core.js:16064 ERROR Error: Uncaught (in promise): 
TypeError: Cannot read property 'langKey' of null
TypeError: Cannot read property 'langKey' of null
  at LoginService.setPreferredLanguage (webpack-internal:///… 
login.service.ts:34)
  ....

但是,当我将浏览器指向http://localhost:8080时,我以“用户”身份登录。这意味着后端登录有效。

对于docker和microservices来说是新手,我怀疑我在概念上缺少某些东西(网络/端口/等)。有什么想法可以找到解决方案吗?或在JHipster /微服务配置中开发前端的建议设置/实践是什么。

1 个答案:

答案 0 :(得分:0)

webpack.dev.js 配置文件中存在错误,并且由于后来将UAA添加到项目中,因此在上下文中缺少UAA模块作为代理:

devServer: {
    contentBase: './build/www',
    proxy: [{
        context: [
            '/microservice1',
            '/microservice2',
            '/microserviceuaa',     /* !!! was missing !!! */
            /* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
            '/api',
            '/management',
            '/swagger-resources',
            '/v2/api-docs',
            '/h2-console',
            '/auth'
        ],
        target: `http${options.tls ? 's' : ''}://127.0.0.1:8080`,
        secure: false,
        changeOrigin: options.tls,
        headers: { host: 'localhost:9000' }
    }],