使用Visual Studio Code搭建TypeScript开发环境

1、TypeScript是干什么的 ?

  • TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是本人的偶像)领衔开发的。
    (安德斯·海尔斯伯格是Delphi 和 C#之父,Turbo Pascal 编译器的主要作者,.NET 概念发起人之一,同时也是TypeScript开源项目的重要领导人。他于1996年加入微软,目前是 C# 语言的首席架构师和 TypeScript 的核心开发者,获微软卓越工程师 Distinguished Engineer 和微软技术院士 Technical Fellow 称号。)

  • 安德斯介绍 TypeScript
  • C#之父Anders首来华:从TypeScript看开源
  • Delphi、C#之父Anders Hejlsberg首次访华 推广TypeScript
  • SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg
  • TypeScript: 应用级别的JavaScript开发

  • TypeScript 是微软开发的 JavaScript 的超集,TypeScript兼容JavaScript,可以载入JavaScript代码然后运行。TypeScript与JavaScript相比进步的地方 包括:加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销;增加一个完整的类结构,使之更象传统的面向对象语言。


2、为什么选择TypeScript ?

  • JavaScript 只是一个脚本语言,并非设计用于开发大型 Web 应用,JavaScript 没有提供类和模块的概念,而 TypeScript 扩展了 JavaScript 实现了这些特性。
  • TypeScript 主要特点包括:
    TypeScript 是微软推出的开源语言,使用 Apache 授权协议,
    TypeScript 是 JavaScript 的超集。
    TypeScript 增加了可选类型、类和模块
    TypeScript 可编译成可读的、标准的 JavaScript
    TypeScript 支持开发大规模 JavaScript 应用
    TypeScript 设计用于开发大型应用,并保证编译后的 JavaScript 代码兼容性
    TypeScript 扩展了 JavaScript 的语法,因此已有的 JavaScript 代码可直接与 TypeScript 一起运行无需更改
    TypeScript 文件扩展名是 ts,而 TypeScript 编译器会编译成 js 文件
    TypeScript 语法与 JScript .NET 相同 
    TypeScript 易学易于理解

  • 网上流传一句话,Angular 2选择了TypeScript作为主语言。如果你是个C#程序员,一定会对它的语法感觉似曾相识。没错,TypeScript和C#、Delphi有同一个“爹” —— 传奇人物Anders Hejlsberg。即使是Java程序员,也不会觉得陌生:强类型、类、接口、注解等等,无一不是后端程序员们耳熟能详的概念。说到底,并没有什么前端语言和后端语言,在语言领域耕耘多年的Anders太熟悉优秀语言的共性了,他所做的取舍值得你信赖。

  • TypeScript的崛起

  • TypeScript有良好的工具支持。以前,只有Visual Studio提供TypeScript工具。现在,情形大为改观。WebStorm增加了TypeScript支持,Eclipse也有了TypeScript插件,
    而且微软也发布了Sublime Text开发TypeScript插件,Atom也支持TypeScript开发。

  • 微软与Google达成JavaScript框架合作:将共同打造Angular 2
  • Angular 2:基于 TypeScript
  • Facebook联合创始人的二次创业,他们为什么转向TypeScript


3、TypeScript语法特性

  • 兼容 ECMAScript 2015(ES6)规范,可选择编译成ES6或ES5规范的JavaScript代码(ECMAScript 3及以上版本);
  • 面向对象,并拥有一些函数式特性;
  • 类型语言;
  • 实现了注解、泛型等特性;
  • 适配大型App构建。

  • 类 Classes
  • 接口 Interfaces
  • 模块 Modules
  • 类型注解 Type annotations
  • 编译时类型检查 Compile time type checking
  • Arrow 函数 (类似 C# 的 Lambda 表达式)


4、TypeScrip与JavaScript 的区别

  • TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。

  • 通过编译器把TypeScript程序代码编译生成JavaScript代码。
  • 在线编写测试TypeScript


5、安装Visual Studio Code

  • Visual Studio Code (VS Code) 是微软开发的、免费开源、功能强大的轻量级的IDE。
  • 运行环境:Windows 10 (64位)

下载Visual Studio Code (VSCodeSetup-stable.exe)

运行:VSCodeSetup-stable.exe,安装Visual Studio Code :


6、安装Node.js

下载Node.js(node-v4.5.0-x64.msi)

运行:node-v4.5.0-x64.msi,安装Node.js :


7、安装TypeScript Compiler

  • 安装好Node.js后,可以直接使用npm工具来安装TypeScript,这个TypeScript的Package其实也是一个Compiler,可以通过这个Complier将typescript编译成javascript。打开命令提示符cmd,进入控制台(或其他终端Terminal),输入指令:
    npm install -g typescript


8、更新TypeScript Compiler

  • 输入指令:npm update -g typescript
  • 查看版本:tsc -v


9、安装 Tpyings

  • typings 主要是用来获取.d.ts文件。当typescript使用一个外部JavaScript库时,会需要这个文件,当然好多的编译器都用它来增加智能感知能力。
  • 输入指令:npm install -g typings


10、安装 node 的 .d.ts 库

  • 输入指令:typings install dt~node –global


11、创建ts_demo项目

  • 创建ts_demo目录
  • 在命令行cmd下进入ts_demo目录
  • cd ts_demo
  • 输入:npm init,创建package.json


12、创建 tsconfig.json

  • (1)、启动VS Code
  • (2)、选择菜单 文件/打开文件夹,选择刚刚创建的ts_demo文件夹
  • (3)、双击tsconfig.json打开如下图:


13、修改tsconfig.json

  • 把tsconfig.json修改为:

  1. {
  2. "compilerOptions": {
  3. "module": "commonjs",
  4. "target": "es6",
  5. "noImplicitAny": false,
  6. "sourceMap": true,
  7. "allowJs": true
  8. }
  9. ,
  10. "exclude": [
  11. "node_modules"
  12. ]
  13. }
  • target:编译之后生成的JavaScript文件需要遵循的标准。有三个候选项:es3、es5、es2015。
  • noImplicitAny:为false时,如果编译器无法根据变量的使用来判断类型时,将用any类型代替。为true时,将进行强类型检查,无法推断类型时,提示错误。
  • module:遵循的JavaScript模块规范。主要的候选项有:commonjs、AMD和es6。
  • removeComments:编译生成的JavaScript文件是否移除注释。
  • sourceMap:编译时是否生成对应的source map文件。这个文件主要用于前端调试。当前端js文件被压缩引用后,出错时可借助同名的source map文件查找源文件中错误位置。
  • outDir:编译输出JavaScript文件存放的文件夹。
  • include、exclude:编译时需要包含/剔除的文件夹。

14、配置 TypeScript 编译

  • 按ctrl + shift + b编译, 如果没有配置过,task, 就会在上面提示(如图)。

  • 选择【配置任务运行程序】


15、新建greeter.ts文件

  1. class Student {
  2. firstName : string;
  3. lastName : string;
  4. constructor(fiestName : string, lastName : string) {
  5. this.firstName = fiestName;
  6. this.lastName = lastName;
  7. }
  8. greeter() {
  9. return "Hello,您好" + this.firstName + " " + this.lastName;
  10. }
  11. }
  12. var user = new Student("王", "小明");
  13. // document.body.innerHTML = user.greeter();
  14. document.body.innerHTML = user.greeter();

16、编译greeter.ts

  • 编译greeter.ts出错:
  • "检测到全局安装的 tsc 编译器(2.0.3)与 VS 代码语言服务(1.8.10)版本不匹配。这可能导致不一致的编译错误。"


17、使用新版本TypeScript

在命令行(cmd)下输入:npm install typescript@2.0.3

  • 选择菜单 文件/首选项/工作区设置

  • settings.json文件修改为:

    1. {
    2. "typescript.tsdk": "node_modules/typescript/lib"
    3. }


18、修改启动源

  • 按F5开始调试会生成: launch.json
  • 用VS Code打开项目的launch.json文件,"program"条目,修改如下:
    ···
     "program": "${workspaceRoot}/greeter.js",
    ···


19、创建index.html

输入:html:5,按tab键回自动产生index.html文档,然后修改如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <title>greeter</title>
  6. </head>
  7. <body>
  8. <script src="greeter.js"></script>
  9. </body>
  10. </html>


20、浏览器打开index.html

转载于:https://www.cnblogs.com/yebai/p/10225017.html

初步学习TypeScript相关推荐

  1. 系统学习 TypeScript(四)——变量声明的初步学习

    前言 认识了 TypeScript 中的基础类型,接下来当然是变量声明的相关学习了. 声明多维数组 假如有这么一个声明: let arr3: number[][][]; 想要知道 arr3 的具体类型 ...

  2. 系统学习 TypeScript(五)——联合类型

    前言 在初步学习了 TypeScript 的变量声明后,对它的静态类型检查功能简直是爱不释手,但同时也发现一个问题:在正常的开发中,一个变量的类型有时可能不仅仅只限于 number 或者 string ...

  3. HTMLParser的初步学习

    Python的自带模块--HTMLParser的初步学习 HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析. 本文主要简单讲一下HTMLParser的用法. ...

  4. 初步学习pg_control文件之三

    接前文,初步学习pg_control文件之二 继续学习: 研究 DBState,先研究 DB_IN_PRODUCTION ,看它如何出现: 它出现在启动Postmaster时运行的函数处: /* * ...

  5. eclipsevue代码怎么运行_[Java教程]使用eclipse初步学习vue.js操作

    [Java教程]使用eclipse初步学习vue.js操作 0 2017-11-26 19:00:06 一.vue.js的初步认识 https://unpkg.com/vue ">vu ...

  6. json2.js的初步学习与了解(转)

    转载来源:http://apps.hi.baidu.com/share/detail/6092406 json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org ...

  7. 推荐 7 个学习 TypeScript 的宝库,2021 是时候给自己加薪了!

    大家好,新年快乐,我是你们的 猫哥,一个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 前言 猫哥是一个常年混迹在 GitHub 上的猫星人,所以发现了不少好的前端开源项目.常用技巧,在此分享给大家. 公众号: ...

  8. 在WisOne平台上学习TypeScript

    TypeScript是微软公司推出的开源的类型化脚本语言,目的是用于为弱类型的javaScript提供强类型的识别和感知功能,同时它提供了类.接口.继承等相关在javaScript中不容易实现的功能, ...

  9. 【TensorFlow-serving】初步学习模型部署

    前言 初步学习tensorflow serving的手写数字识别模型部署.包括简单的模型训练.保存.部署上线.因为对docker和网络不太熟悉,可能会有部分错误,但是看完博客,能跑通整个流程.此博客将 ...

最新文章

  1. Python设计模式-外观模式
  2. 谭浩强C程序设计第四版答案
  3. HDU4694 Important Sisters
  4. Python 量化(四)计算股票的移动平均线
  5. Microsoft发布.NET架构指南草案
  6. 牛客网-数据结构笔试题目(四)-Powerful Ksenia问题解决方案(附源码)
  7. MaxCompute 挑战使用SQL进行序列数据处理
  8. 转:EL表达式的11个内置对象
  9. java 如何调用static_java 关键字static详细介绍及如何使用
  10. 达梦系统录音服务器是哪个,达梦服务器安装及使用教程
  11. 【pwnable.kr】horcruxes - 伏地魔的7个魂器 gets栈溢出 截断 atoi转化
  12. 前端模板引擎 -- Freemarker
  13. 使用CSS样式设置文本超出2行显示为省略号
  14. python表白玫瑰花绘制——情人节表白
  15. Android打开蓝牙的两种方式
  16. Fuel-openstack的搭建(二)
  17. vscode配置内存,解决窗口出现故障
  18. InterSystem Ensemble: BS- BP- BO
  19. 从苏宁电器到卡巴斯基第04篇:我的本科时光(补)
  20. mysql 文档生成器_最好用的数据库文档生成工具

热门文章

  1. linux find命令的日常使用
  2. gis 空间分析 鸟类栖息地选取_动物栖息地选择评估的常用统计方法
  3. IC/FPGA笔试题分析(六)用16bit加法器IP核实现8bit乘法运算(文末彩蛋)
  4. 【 Notes 】WLLS Algorithm of TOA - Based Positioning (include the two - step WLS estimator)
  5. 将中文日期转换成自己想要的格式如:2018年09月29日转换成2018-09-29
  6. Servlet - HTTP超文本传输协议
  7. C++11:POD数据类型
  8. 源码安装vsftp3.0.3
  9. 2016年全球100G和200G相干WDM光学系统出货量增长75%
  10. AT+CSMP 设置短消息文本参数