Pergunta

Gostaria de saber se existe alguma maneira de usar TypeScript em arquivos cshtml do Razor?

Por exemplo, algo assim

<script language="text/typescript">
/// typescript goes here
</script>
Foi útil?

Solução

TypeScript não é um tempo de execução;é compilado em JavaScript.Como resultado, você precisará escrever seu TypeScript, compilá-lo e incluí-lo nas tags de script JavaScript ou como um arquivo externo.

Outras dicas

É possível.Eu desenvolvi Compilação TypeScript - um compilador automático de TypeScript para JavaScript em tempo real.Tente!

Deixe-me acrescentar à resposta de Robs que é tecnicamente possível incorporar o compilador TypeScript em um download de página e fazer com que o código de compilação do navegador seja escrito em <script language="text/typescript"> Tag.

O desempenho, entretanto, seria abaixo do ideal e a pré-compilação no servidor seria preferida.Tecnicamente, também não há nada que impeça um pré-processador de fazer isso (o T4 poderia fazer isso).

Acabei de verificar com minha extensão VS favorita: Fundamentos da Web

Eles já incluíram a compilação do arquivo .ts ao salvar (recomenda-se usar também o plugin original para Intellisense).

Obviamente, isso só funciona para arquivos .ts.Na minha opinião, quando você atingir a complexidade de escolher TypeScript em vez de JavaScript, você deverá usá-lo em um arquivo separado, de qualquer maneira.

Você pode compilar manualmente os arquivos TypeScript usando tsc.exe e, em seguida, adicionar o Javascript resultante ao seu projeto ou usar uma ferramenta, como Fundamentos da Web que compila ao salvar.

Como o compilador pode ser compilado para Javascript, você também pode permitir que o navegador do usuário faça a compilação dinamicamente (ao custo do desempenho e do tamanho do arquivo, o compilador é bastante grande).Um exemplo desta abordagem é a solução da niutech.

Se você estiver usando Bundling e Minification, acabei de lançar uma implementação de IBundleTransform que compila TypeScript para Javascript.Está ligado GitHub e NuGet (Pacote de Instalação TypeScriptBundleTransform).Se você ainda não usa Bundling and Minification, vale a pena dar uma olhada!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top