2016-06-23 2 views
5

APIプロジェクトのweb.configからTypeScript UIプロジェクトにキーを取得するにはどうすればよいですか?私は、次のことを試してみたが、何も私が言うことができ、構成ファイルへのアクセス権を取得していない:TypeScriptのweb.configからキーを取得するには?

apiUrl: string = '@System.Configuration.ConfigurationManager.AppSettings["ApiUrl"]'; 

これは動作しません。次のいずれか

apiUrl: string = "@ConfigurationManager.AppSettings['ApiUrl']"; 

私もか引用符のすべての組み合わせを試してみましたシングルまたはダブル、無駄に。 TypeScriptのweb.configファイルから値を取得する方法についての洞察はありますか?

答えて

0

通常、コンパイル時に同じディレクトリに出力されないため、他のアセンブリ/プロジェクトから構成ファイルにアクセスすることはお勧めできません。

TypeScriptがJavaScriptに変換されるため、Typeがどこにあるかにかかわらず、構成ファイルから直接読み取ることはできません。

サービスのURLを(DEVエンドポイントからQAまたはプロダクションエンドポイントに)動的に変更する場合は、HTML/CSHTMLファイルにRazor Syntaxを使用して設定ファイルから値を取得することができますまたは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で私のリリースの定義での似たようなスクリプトを使用します。の後にファイルをコピーします。

関連する問題