1、手动编译

  1.1、首先找到TypeScript的安装目录,我的在”C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0“。

     

  1.2、使用cmd工具命令cd到安装目录。

     

  1.3、输入命令:tsc 文件名.ts,回车编译。

     

一旦编译成功,就会在相同目录下生成同名的js文件(编译成功后是没有任何消息提示的。上图中,这也是编译成功的。只要不存在语法错误)。

2、设置自动编译

  2.1、找到项目文件(*.csproj的文件),编辑打开,找到<Target Name="BeforeBuild">节点,在里面添加如下节点信息:

      <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\1.0\tsc&quot;    @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />

      或

      <Exec Command="tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />

      

      (上图的<Exec>节点二选一)

      这样设置完后,每次编译项目都会自动编译项目中所有*.ts文件

3、解析编译(个人理解),如果不想在项目中编译,这需要在页面添加<script src="typescript.js" />来编译。typescript.js文件在  盘符/Program Files(x86)|Program Files/Microsoft SDKs/TypeScript/版本号/typescript.js 。
4、动态编译

动态编译,在写完ts代码后,按下ctrl+s,右边视图区是出现对应编译后的js脚本。

  4.1、找到项目文件,编辑打开

  4.2、在<PropertyGroup>并行节点下,添加如下节点信息:

     <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
          <TypeScriptTarget>ES5</TypeScriptTarget>
          <TypeScriptRemoveComments>false</TypeScriptRemoveComments>
          <TypeScriptSourceMap>true</TypeScriptSourceMap>
          <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
      </PropertyGroup>
      <PropertyGroup Condition="'$(Configuration)' == 'Release'">
          <TypeScriptTarget>ES5</TypeScriptTarget>
          <TypeScriptRemoveComments>true</TypeScriptRemoveComments>
          <TypeScriptSourceMap>false</TypeScriptSourceMap>
          <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
      </PropertyGroup>
      <Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets')" />

    

 建议使用第4种编译方式,虽性能可能有些会下降,但编写完一段脚本后,按下ctrl+s,右侧js视图立马可以显示js脚本。这样有助于理解TS与JS之间的某种转换关系,也可以快速加深对TS语法的理解。

    

TypeScript的4种编译方式的更多相关文章

  1. Java三种编译方式

    Java程序代码需要编译后才能在虚拟机中运行,编译涉及到非常多的知识层面:编译原理.语言规范.虚拟机规范.本地机器码优化等:了解编译过程有利于了解整个Java运行机制,不仅可以使得我们编写出更优秀的代 ...

  2. Sass的四种编译方式

    我们都知道Sass其实有两种,一种是Sass,一种是SCSS. Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点: 文件扩展名不同,Sass 是以“.s ...

  3. Angular--AOT和JIT两种编译方式带来的改变

    Angular 应用主要由组件及其 HTML 模板组成.由于浏览器无法直接理解 Angular 所提供的组件和模板,因此 Angular 应用程序需要先进行编译才能在浏览器中运行.Angular 提供 ...

  4. 比特(bit)、字,字节(B)存储单位之间的关系+其与操作系统位数的关系+不同编译器编译方式下数据类型的表示范围

    1.在表示网络传输速度中与表示存储单位的不同: 表示存储单位时:1kB=1024B,但在网络中表示传输速度是1KB=1000B 2.下面介绍表示存储单位时的关系及其与操作系统位数的关系: 1B=8bi ...

  5. 【学习笔记】比特(bit)、字,字节(B)存储单位之间的关系+其与操作系统位数的关系+不同编译器编译方式下数据类型的表示范围

    1.在表示网络传输速度中与表示存储单位的不同: 表示存储单位时:1kB=1024B,但在网络中表示传输速度是1KB=1000B 2.下面介绍表示存储单位时的关系及其与操作系统位数的关系: 1B=8bi ...

  6. JIT(Just in time,即时编译,边运行边编译)、AOT(Ahead Of Time,运行前编译),是两种程序的编译方式

    JIT(Just in time,即时编译,边运行边编译).AOT(Ahead Of Time,运行前编译),是两种程序的编译方式

  7. 使用Typescript重构axios(十九)——请求取消功能:实现第二种使用方式

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  8. 使用Typescript重构axios(二十)——请求取消功能:实现第一种使用方式

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  9. WebAssembly学习(三):AssemblyScript - TypeScript到WebAssembly的编译

    虽然说只要高级语言能转换成 LLVM IR,就能被编译成 WebAssembly 字节码,官方也推荐c/c++的方式,但是让一个前端工程师去熟练使用c/c++显然是有点困难,那么TypeScript ...

随机推荐

  1. HTTP学习一:HTTP基础知识

    1 HTTP介绍 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议. 它的发展是万维网协会(World Wid ...

  2. DAC Usage3:Monitor Data-tier Applications

    If you deploy a DAC to a managed instance of the Database Engine, information about the deployed DAC ...

  3. LINQ系列:Linq to Object生成操作符

    生成操作符从现有序列值中创建新的序列. 1. Empty  Empty操作符返回一个指定类型的空集. 1>. 原型定义 public static IEnumerable<TResult& ...

  4. Android之TabActivity的使用

    TabActivity实现多页显示效果 由于手机屏幕有限,所以我们要尽量充分利用屏幕资源.在我们的应用程序中通常有多个Activity,而且会经常切换显示,这样我们就可以用TabActivity来显示 ...

  5. Js的语法和循环

    1.蓝球弹起的高度 篮球从10米高的地方落下,每次弹起的高度是原来的0.3倍,问弹跳10次之后篮球的高度. <script type="text/javascript"> ...

  6. 【开源】OSharp框架解说系列(5.1):EntityFramework数据层设计

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  7. Android okHttp网络请求之Get/Post请求

    前言: 之前项目中一直使用的Xutils开源框架,从xutils 2.1.5版本使用到最近的xutils 3.0,使用起来也是蛮方便的,只不过最近想着完善一下app中使用的开源框架,由于Xutils里 ...

  8. Oracle数据库备份、恢复及常见问题

    通常我们都是使用PL/SQL Developer来对Oracle中的数据对象和数据进行管理.如果我们想方便快速还原或者部署Oracle到新机器上,怎么进行数据库的备份.导入恢复呢? 这里我们必须要考虑 ...

  9. 用JAVA实现插值查询的方法(算近似值,区间求法)

    插值查询:如果有这样一张表,有一列叫水位,有一列叫库容,比如下面的图. 我现在想做这么一件事情:对于这个测站而言,当我输入某一个水位或者库容的时候,想要查询到对应的水位或者库容呢? 而这个值不一定是存 ...

  10. 详解用Navicat工具将Excel中的数据导入Mysql中

    第一步:首先需要准备好有数据的excel: 第二步:选择"文件"->"另存为",保存为"CSV(逗号分隔)(*.csv)",将exce ...