我已经创建了一个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 /微服务配置中开发前端的建议设置/实践是什么。
答案 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' }
}],