JHipster 应用程序中的功能标志
Feature flags in JHipster applications
在基于 jhipster/angular 的应用程序中使用功能标志的推荐方式/最佳实践是什么?
我修改了我的webpack.dev.js:
plugins: [
new webpack.DefinePlugin({
'EXPERIMENTAL_FEATURE': true
}),
我也试过:
plugins: [
new webpack.DefinePlugin({
'EXPERIMENTAL_FEATURE': JSON.stringify(true)
}),
不幸的是,我无法在任何 TS 组件/代码中以这种方式使用 EXPERIMENTAL_FEATURE:
Webpack: Starting ...
√ Compile modules
> Build modules (75%)
→ 0 of 2 modules :: src/main/webapp/app/entities/microservice/microservice-dashboard/microservice-card/microservice-card.component.ts ~ internal
ERROR in src/main/webapp/app/entities/microservice/microservice-dashboard/microservice-card/microservice-card.component.ts:21:31 - error TS2304: Cannot find name 'EXPERIMENTAL_FEATURE'.
21 const hideSomeComponent = EXPERIMENTAL_FEATURE;
~~~~~~~~~~~~~~~~~~~~
问题不在于你如何定义常量,而在于你如何在打字稿代码中使用它。
看看它是如何为 BUILD_TIMESTAMP
完成的,它是使用 DefinePlugin webpack 插件定义的,但关键是使用 process.env.BUILD_TIMESTAMP
定义一个新常量 BUILD_TIMESTAMP
在 app.constant.ts
中导出。
然后在microservice-card.component.ts
中导入
import { BUILD_TIMESTAMP} from 'app/app.constants';
在基于 jhipster/angular 的应用程序中使用功能标志的推荐方式/最佳实践是什么?
我修改了我的webpack.dev.js:
plugins: [
new webpack.DefinePlugin({
'EXPERIMENTAL_FEATURE': true
}),
我也试过:
plugins: [
new webpack.DefinePlugin({
'EXPERIMENTAL_FEATURE': JSON.stringify(true)
}),
不幸的是,我无法在任何 TS 组件/代码中以这种方式使用 EXPERIMENTAL_FEATURE:
Webpack: Starting ...
√ Compile modules
> Build modules (75%)
→ 0 of 2 modules :: src/main/webapp/app/entities/microservice/microservice-dashboard/microservice-card/microservice-card.component.ts ~ internal
ERROR in src/main/webapp/app/entities/microservice/microservice-dashboard/microservice-card/microservice-card.component.ts:21:31 - error TS2304: Cannot find name 'EXPERIMENTAL_FEATURE'.
21 const hideSomeComponent = EXPERIMENTAL_FEATURE;
~~~~~~~~~~~~~~~~~~~~
问题不在于你如何定义常量,而在于你如何在打字稿代码中使用它。
看看它是如何为 BUILD_TIMESTAMP
完成的,它是使用 DefinePlugin webpack 插件定义的,但关键是使用 process.env.BUILD_TIMESTAMP
定义一个新常量 BUILD_TIMESTAMP
在 app.constant.ts
中导出。
然后在microservice-card.component.ts
import { BUILD_TIMESTAMP} from 'app/app.constants';