如何从 API 项目中的 web.config 获取密钥到我的 TypeScript UI 项目中?我已经尝试过以下操作,但没有任何内容可以访问我可以告诉的配置文件:
apiUrl: string = '@System.Configuration.ConfigurationManager.AppSettings["ApiUrl"]';
这也不起作用:
apiUrl: string = "@ConfigurationManager.AppSettings['ApiUrl']";
我还尝试了每种引号的组合,无论是单引号还是双引号,都无济于事。关于如何从 TypeScript 中的 web.config 文件获取值有什么见解吗?
尝试从其他程序集/项目访问配置文件通常不是一个好主意,因为它们在编译时通常不会输出到同一目录。
由于 TypeScript 已转换为 JavaScript,因此无论配置文件位于何处,您都无法直接读取它。
如果您想动态更改服务的 URL(例如从 DEV 端点到 QA 或生产端点),您可以使用剃刀语法在 HTML/CSHTML 文件中从配置文件中获取值,然后inject脚本中的值,OR你可以用电源外壳在部署期间替换构建过程中 TypeScript 文件中的值。
# Argument passed into PowerShell script (or write out URL string manually).
$NewURL1 = $args[0];
$NewURL2 = "http://goodURL.com/api";
# *.js files, because your *.ts files will already be transpiled.
$files = gci "C:\MyProject\DropFolder" -recurse -include "exampleWithBadURL.js", "otherFile.js";
Foreach ($file in $files)
{
$fileContent = Get-Content($file) -Raw;
attrib $file -r;
# Perform the replacement.
$fileContent -replace "http://localhost:38774/", $NewURL1 | Out-File $file;
$fileContent -replace "http://badURL.com/api/", $NewURL2 | Out-File $file;
Write-Output($file.FullName);
}
如果您的构建/发布代理允许,您可以在将代码部署到特定环境时运行此 Powershell 脚本。我在中使用类似的脚本VSTS/TFS在我的发布定义中after我把文件复制过来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)