在Angular 2应用程序或JavaScript应用程序中,批准的外部化字符串常量的方法是什么?我的意思是Java中的.properties
文件,其中存储了后端连接属性。
据我所知,JavaScript并不支持轻松地从客户端读取文件。我目前的解决方案是使用可注入服务类,它将键值对存储为对象属性。然后我只是将服务注入需要这些值的其他服务中。这是合理的方法,还是JavaScript / A2提供了一些更统一的方法来处理值注入?
答案 0 :(得分:0)
我认为这样做的方法是正确的。
在您的请求完成后,您可以异步引导。这是一个示例:
var app = platform(BROWSER_PROVIDERS)
.application([BROWSER_APP_PROVIDERS, appProviders]);
var service = app.injector.get(ConfigService);
service.getConfig().flatMap((config) => {
var configProvider = new Provider('config', { useValue: config });
return app.bootstrap(appComponentType, [ companiesProvider ]);
}).toPromise();
看到这个问题:
如果您能够在服务器端更新index.html
页面(主要入口点),我会看到另一种方法。这是一个示例:
<script>
var params = {"token": "@User.Token", "xxx": "@User.Yyy"};
System.import('app/main').then((module) => {
module.main(params);
});
</script>
看到这个问题:
您还可以为此注册APP_INITIALIZER
提供商:
provide(APP_INITIALIZER, {
useFactory: (service:ConfigService) => () => service.loadConfig(),
deps:[ConfigService, HTTP_PROVIDERS],
multi: true}),
有关详细信息,请参阅此问题: