如何为 jhipster 网关应用程序定义 SERVER_API_URL?
How to define a SERVER_API_URL to a jhipster gateway application?
我有一个没有后端结构的 jhipster 网关应用程序。 它是使用 --skip-server 选项创建的。
当我 运行 带有突击队 GULP 的网关应用程序时,定义的端口是 8080 但 jhipster API 应用程序在 8081 上。如何定义这个默认值url?
我在文件里改了:
gulp/config.js
'use strict';
module.exports = {
app: 'src/main/webapp/',
dist: 'build/www/',
swaggerDist: 'build/www/swagger-ui/',
test: 'src/test/javascript/',
bower: 'src/main/webapp/bower_components/',
tmp: 'build/tmp',
revManifest: 'build/tmp/rev-manifest.json',
port: 8080,
apiPort: 8081,
liveReloadPort: 35729,
uri: 'http://localhost:',
constantTemplate:
'(function () {\n' +
' \'use strict\';\n' +
' // DO NOT EDIT THIS FILE, EDIT THE GULP TASK NGCONSTANT SETTINGS INSTEAD WHICH GENERATES THIS FILE\n' +
' angular\n' +
' .module(\'<%- moduleName %>\')\n' +
'<% constants.forEach(function(constant) { %> .constant(\'<%- constant.name %>\', <%= constant.value %>)\n<% }) %>;\n' +
'})();\n' };
但是没有用。我能做什么?
AngularJS 项目没有 SERVER_API_URL
变量 pre-configured。默认情况下,它仅存在于 Angular (v4+) JHipster 项目中。因此,所有 AngularJS 服务都会根据它们所在的相对路径(通常是端口 8080 或 9000)向 API 发送请求。 gulp
然后将来自端口 9000 的所有请求代理到 gulp/config.js
中定义的 API 端口。
要在整个项目中自定义 SERVER_API_URL
,您可以将配置变量添加到 app.constants.js
。为此,请将 SERVER_API_URL
添加到 gulpfile.js
中的 ngconstant:dev
和 ngconstant:prod
部分。 运行 gulp
会将变量注入 app.constants.js
.
一旦变量出现在 app.constants.js
中,您就可以将它注入到使用 AngularJS 的 $resource
或 $http
的服务 JS 文件中。例如在 account.service.js
中,您应该注入 SERVER_API_URL
并将 URL 从 'api/account'
更改为 SERVER_API_URL + 'api/account'
.
您可以通过 IDE 或使用像 grep 这样的工具搜索来查看使用 AngularJS 的 $resource
和 $http
的完整文件列表:grep -R '$resource\|$http' ./src/main/webapp/app
我有一个没有后端结构的 jhipster 网关应用程序。 它是使用 --skip-server 选项创建的。 当我 运行 带有突击队 GULP 的网关应用程序时,定义的端口是 8080 但 jhipster API 应用程序在 8081 上。如何定义这个默认值url?
我在文件里改了:
gulp/config.js
'use strict';
module.exports = {
app: 'src/main/webapp/',
dist: 'build/www/',
swaggerDist: 'build/www/swagger-ui/',
test: 'src/test/javascript/',
bower: 'src/main/webapp/bower_components/',
tmp: 'build/tmp',
revManifest: 'build/tmp/rev-manifest.json',
port: 8080,
apiPort: 8081,
liveReloadPort: 35729,
uri: 'http://localhost:',
constantTemplate:
'(function () {\n' +
' \'use strict\';\n' +
' // DO NOT EDIT THIS FILE, EDIT THE GULP TASK NGCONSTANT SETTINGS INSTEAD WHICH GENERATES THIS FILE\n' +
' angular\n' +
' .module(\'<%- moduleName %>\')\n' +
'<% constants.forEach(function(constant) { %> .constant(\'<%- constant.name %>\', <%= constant.value %>)\n<% }) %>;\n' +
'})();\n' };
但是没有用。我能做什么?
AngularJS 项目没有 SERVER_API_URL
变量 pre-configured。默认情况下,它仅存在于 Angular (v4+) JHipster 项目中。因此,所有 AngularJS 服务都会根据它们所在的相对路径(通常是端口 8080 或 9000)向 API 发送请求。 gulp
然后将来自端口 9000 的所有请求代理到 gulp/config.js
中定义的 API 端口。
要在整个项目中自定义 SERVER_API_URL
,您可以将配置变量添加到 app.constants.js
。为此,请将 SERVER_API_URL
添加到 gulpfile.js
中的 ngconstant:dev
和 ngconstant:prod
部分。 运行 gulp
会将变量注入 app.constants.js
.
一旦变量出现在 app.constants.js
中,您就可以将它注入到使用 AngularJS 的 $resource
或 $http
的服务 JS 文件中。例如在 account.service.js
中,您应该注入 SERVER_API_URL
并将 URL 从 'api/account'
更改为 SERVER_API_URL + 'api/account'
.
您可以通过 IDE 或使用像 grep 这样的工具搜索来查看使用 AngularJS 的 $resource
和 $http
的完整文件列表:grep -R '$resource\|$http' ./src/main/webapp/app