如何在Typescript中读取web.config键

时间:2016-09-19 05:44:13

标签: typescript

如何通过打字稿获取angular2应用程序中的键值。

add key="localPath" value="http://localhost:618/"
add key="serverPath" value="http://api.azure.net/" 

我希望获得" localpath"的这些价值。和" serverpath"在.ts文件中。

请建议我。

1 个答案:

答案 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 中使用类似的脚本 我将文件复制过来。