2016-06-23 41 views
5

Jak mogę uzyskać klucz z web.config w projekcie API do mojego projektu UML TypeScript? Próbowałem następujących ale nic nie dostaje dostęp do pliku konfiguracyjnego, który mogę powiedzieć:Jak zdobyć klucz z web.config w TypeScript?

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

To nie działa albo:

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

Próbowałem również każdą kombinację cytaty faktu, czy pojedynczy lub podwójny, bezskutecznie. Jakiekolwiek informacje o tym, jak uzyskać wartość z pliku web.config w TypeScript?

Odpowiedz

0

Generalnie nie jest dobrym pomysłem, aby spróbować uzyskać dostęp do plików konfiguracyjnych z innych zespołów/projektów, ponieważ zazwyczaj nie są one wyprowadzane do tego samego katalogu po kompilacji.

Ponieważ TypeScript jest transponowany do JavaScript, nie można odczytać bezpośrednio z pliku konfiguracyjnego, niezależnie od tego, gdzie on się znajduje.

Jeśli chcesz dynamicznie zmieniać adresy URL za usługę (powiedzmy od punktu końcowego DEV do QA lub Produkcji końcowego), można użyć Razor Składnia w pliku HTML/CSHTML aby pobrać wartości z pliku konfiguracyjnego , a następnie wstrzyknąć wartość do skryptów, LUB można użyć podczas instalacji w celu zastąpienia wartości w plikach TypeScript podczas procesu kompilacji Powershell.

# 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); 
} 

Jeśli zezwala na to agent tworzenia/zwolnienia, można uruchomić ten skrypt Powershell podczas wdrażania kodu w określonym środowisku. Używam podobnego skryptu w VSTS/TFS w mojej definicji wydania po Skopiowałem pliki powyżej.