如何通过打字稿获取angular2应用程序中的键值。
add key="localPath" value="http://localhost:618/"
add key="serverPath" value="http://api.azure.net/"
我希望获得" localpath"的这些价值。和" serverpath"在.ts文件中。
请建议我。
答案 0 :(得分:0)
因为TypeScript被转换为JavaScript,所以无法直接从配置文件中读取。
如果要动态更改服务的URL(例如从DEV端点到QA或生产端点),可以在HTML / CSHTML文件中使用 Razor语法来获取值从配置文件中,然后将值注入脚本, OR ,您可以在部署期间使用 Powershell 来替换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 中使用类似的脚本 我将文件复制过来。