我是角度js 2类型脚本编程的新手。我试图找到一种方法来从typescript访问web.config的应用程序设置键。我不想在我的类型脚本中对数据进行硬编码,因为它们因环境而异。 TIA
答案 0 :(得分:1)
Typescript被编译为JavaScript,后来在使用web.config文件的应用程序的上下文中执行。因此,您将无法在TypeScript级别读取配置。
您需要做的是在运行时使配置可用。换句话说,无论TypeScript生成什么代码,都需要知道页面运行时可用的某些对象,它将为其提供所需的任何配置。
有几种方法可以做到这一点。
您可以让您的JS代码知道应该始终存在于全局上下文中的对象(例如,当页面运行时,JS中的appConfig)。然后,您可以使用设置填充此对象。例如asz Razor:
var appConfig = [];
appConfig.adminEmail = '@ConfigurationManager.AppSettings["adminEmail"]';
然后,您的TypeScript代码可以在运行时依赖变量appConfig。
Alernatively,您可以为页面设置一种方法,将配置注入TypeScript生成的代码中:
var adminEmail;
function SetAdminEmail(val: string)
{
adminEmail = val;
}
function DisplayAdminEmail()
{
alert(adminEmail);
}
然后在你的页面中:
<script type="text/javascript">
SetAdminEmail('@ConfigurationManager.AppSettings["adminEmail"]');
DisplayAdminEmail();
</script>