TypeScript学习笔记(一) - 环境搭建

本篇将简单介绍一下TypeScript,并记录开发环境的搭建、使用Visual Studio Code进行一个简单的Demo开发过程。

第一部分、简介

TypeScript是一种由微软开发的自由和开源的编程语言。是JavaScript的一个超集。它在保留JavaScript语言本身特性的基础上添加了大量静态语言具有的一些特性,包括但不限于以下几点:

    • 可选的静态类型
    • 枚举、接口和类
    • 命名空间
    • 模块
    • Lambda表达式
    • 编译时类型检查

在2013年6月微软正式发布了0.9版。之后在不断更新的过程中逐渐支持ECMAScript 2015(ES6)标准。

通过利用静态语言的特性和新标准,使JavaScript开发变得越来越简单。同时也很好的符合当前前端开发的模块化、工程化的开发方式和潮流。

第二部分、环境准备

一、安装Node.js

安装文件下载地址:Node.js Downloads。TypeScript源码需要进行编译以后才能运行,Node.js提供了编译环境。

二、安装TypeScript编译工具

安装好Node.js后,打开cmd窗口,输入以下命令

npm install -g typescript

使用npm包管理工具下载TypeScript包并在全局环境下安装,安装成功后就可以通过 tsc 命令编译TypeScript源码。

可以通过 tsc -v 命令查看当前TypeScript版本。当前最新版本是:1.8

第三部分、使用Visual Studio Code进行开发

以下目录结构是一个简单的Demo的结构

主要包括但不限于以下几个目录和文件

/ts:TypeScript源码文件存放的文件夹

/js:编译之后生成的JavaScript文件存放的文件夹

tsconfig.json:TypeScript编译配置文件

另外.vscode是VS Code开发工具特有的文件夹,主要用来存放调试时需要用到的配置文件。

一、tsconfig.json

 1 {
 2     "compilerOptions": {
 3         "target": "es5",
 4         "noImplicitAny": false,
 5         "module": "commonjs",
 6         "removeComments": true,
 7         "sourceMap": false,
 8         "outDir": "js"
 9     },
10     "include":[
11         "ts"
12     ],
13     "exclude": [
14         "js"
15     ]
16 }

有几个重要的属性需要解释一下:

    • target:编译之后生成的JavaScript文件需要遵循的标准。有三个候选项:es3、es5、es2015。
    • noImplicitAny:为false时,如果编译器无法根据变量的使用来判断类型时,将用any类型代替。为true时,将进行强类型检查,无法推断类型时,提示错误。
    • module:遵循的JavaScript模块规范。主要的候选项有:commonjs、AMD和es2015。为了后面与node.js保持一致,我们这里选用commonjs。
    • removeComments:编译生成的JavaScript文件是否移除注释。
    • sourceMap:编译时是否生成对应的source map文件。这个文件主要用于前端调试。当前端js文件被压缩引用后,出错时可借助同名的source map文件查找源文件中错误位置。
    • outDir:编译输出JavaScript文件存放的文件夹。
    • include、exclude:编译时需要包含/剔除的文件夹。

二、添加Demo源文件

在ts文件夹添加 app.ts 和 demo.ts 两个源文件,目录结构和源文件内容如下

 1 /**
 2  * Demo
 3  */
 4 class Demo {
 5     a: number;
 6     b: number;
 7
 8     constructor(a: number, b: number) {
 9         this.a = a;
10         this.b = b;
11     }
12
13     sum(): number {
14         return this.a + this.b;
15     }
16 }
17
18 export {Demo};

Demo.ts

1 import {Demo} from ‘./models/demo‘;
2 const demo = new Demo(1, 2);
3 console.log(demo.sum());

app.ts

三、配置编译和调试文件

在.vscode里添加tasks.json文件

 1 {
 2     // See https://go.microsoft.com/fwlink/?LinkId=733558
 3     // for the documentation about the tasks.json format
 4     "version": "0.1.0",
 5     "command": "tsc",
 6     "isShellCommand": true,
 7     "args": ["-p", "."],
 8     "showOutput": "always",
 9     "problemMatcher": "$tsc"
10 }

切换到调试模式,点击配置按钮,选择Node.js环境。因为接下来的Demo演示都将在Node.js环境下进行。

修改生成的launch.json文件内容,指定启动入口文件的路径

 1 {
 2     "version": "0.2.0",
 3     "configurations": [
 4         {
 5             "name": "启动",
 6             "type": "node",
 7             "request": "launch",
 8             "program": "${workspaceRoot}/js/app.js",
 9             "stopOnEntry": false,
10             "args": [],
11             "cwd": "${workspaceRoot}",
12             "preLaunchTask": null,
13             "runtimeExecutable": null,
14             "runtimeArgs": [
15                 "--nolazy"
16             ],
17             "env": {
18                 "NODE_ENV": "development"
19             },
20             "externalConsole": false,
21             "sourceMaps": false,
22             "outDir": null
23         },
24         {
25             // ......
26         },
27         {
28            // ......
29         }
30     ]
31 }

以上配置完成后,使用 Ctrl+Shift+B 启动编译,如果VS Code的OUTPUT窗口没有任何异常信息显示,则表示编译成功。在js文件夹里将会生成编译后的JavaScript文件

demo.js

 1 "use strict";
 2 var Demo = (function () {
 3     function Demo(a, b) {
 4         this.a = a;
 5         this.b = b;
 6     }
 7     Demo.prototype.sum = function () {
 8         return this.a + this.b;
 9     };
10     return Demo;
11 }());
12 exports.Demo = Demo;

app.js

1 "use strict";
2 var demo_1 = require(‘./models/demo‘);
3 var demo = new demo_1.Demo(1, 2);
4 console.log(demo.sum());

对比TypeScript源码文件和生成之后的JavaScript文件,结构发生了较大变化。

启动调试,查看调试控制台,输出了正确的计算结果:3

其他相关内容

当前非常流行的JavaScript模块规范主要遵循以下两种:

    • CommonJS:同步模式加载模块,主要应用在服务端。Node.js模块化就遵循此规范。使用方式: require(‘模块名‘) 。
    • AMD:异步模式加载模块,主要应用在浏览器端。RequireJS遵循此标准。使用方式: define([‘模块名1‘, ...], function(‘模块参数1‘, ....) { })
时间: 2024-10-09 22:47:00

TypeScript学习笔记(一) - 环境搭建的相关文章

1.蛤蟆Python脚本学习笔记一环境搭建

1.蛤蟆Python脚本学习笔记一环境搭建 蛤蟆一直在想在工作的时候能不能有一个牛逼的工具来让自己工作更加轻松和快乐.用过C, C++, C#, JAVA,  SHELL,TCL,汇编,BAT等,感觉这些都是需要的时候能发挥作用,不能和我想象的一样.突然有一天,感觉Python实在不错,那么就和小伙伴们一起乐呵乐呵呗.万事开头难,我们先来搭建环境吧. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48058315 1. 相关

Objective-c学习笔记—— Ubuntu 环境搭建 + HelloWorld

一直想学习IOS手机开发,今天开始涉入该领域.好吧,先从基础开始--搭建开发环境. 系统: Ubuntu 12.04 LTS  64 位 环境搭建步骤: 1.安装编译器 sudo apt-get install gnustep* 2.配置环境变量 # set GNUstep GNUSTEP_ROOT=/usr/share/GNUstep/Makefiles export GNUSTEP_ROOT source /usr/share/GNUstep/Makefiles/GNUstep.sh 3.编

Django学习笔记 开发环境搭建

为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统admin:用户认证系统auth:会话系统sessions.3.安全性高:表单验证,SQL诸如,跨站点攻击.4.易于扩展:django使用应用来划分逻辑功能.对于一个成熟的网站,如果需求变更了,只需要增加一个应用就可以了.学习django的知识储备:python基础,数据库SQL,HTTP协议,HTM

cocos2d-x lua 学习笔记(1) -- 环境搭建

Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷!OK,现在就开始搭建环境吧! 1.cocos2d-x环境的设置以及android的环境搭建 1.下载cocos2d-x 3.0正式版 2.下载android的sdk以及ndk 3.下载ant (注:cocos2d-x的环境变量配置需要用到ant,主要是android需要使用到它)

我的Java学习笔记 -开发环境搭建

开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版) JavaME(J2ME)(Java 2 Platform Micro Edition,java

cocos2dx3.2学习笔记1——环境搭建

    今年过年时就有想法要自己开发个游戏,后来看到了cocos2dx,就想学学,当时也找了一些资料.视频跟着学,可是当时没学过C++(就大二的时候考过试,勉强过的,当时都忘了),就自以为是地凭借自己java的功底开始学了...结果学得痛不欲生T_T....后来研一上课忙,也就渐渐不了了之了.现在自从7月中旬和实验室的同学们做了一个C++的项目后,从头学了C++的语法,还学了些MFC,用的VS2008,开始对C++有些了解了,决定重头学cocos2dx!(好吧,其实是刚迷上了一个手游--史上最牛

React Native学习笔记 -- 开发环境搭建

工欲善其事,必先利其器.这次主要介绍mac osx下React Native的开发环境的搭建. homebrew mac上的包管理工具,用于安装nodejs和其他一些工具软件,在terminal输入下面命令进行安装: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 如果在安装过程中遇到提示ACCES: permission denied(

Scala学习笔记-Servlet环境搭建

之前用的Scala的IDE,发现没有Web开发插件,所以重新下载了个J2EE的eclipse,然后安装scala插件. 还有准备好Tomcat,配置好Eclipse的web开发环境. Tomcat我用的8,java也是8,eclipse是4.5.1 . 之后新建web项目,在web项目上右键->Configure->Add Scala Nature ,然后就可以使用scala了. 之后右键新建servlet,这个servlet是java的,基于注解的,然后run一下,就能正常访问这个servl

nodejs学习笔记 -- 熟悉环境搭建

通过nodejs官网下载安装包(鼠标右键点击"我的电脑","属性",查看32位还是64位操作系统),安装好以后,可进行如下操作: 1.打开命令行工具:windows键+R,输入cmd 2.英文状态下,输入node -v 即可查看安装的nodejs版本号,如果能显示,则表示nodejs安装成功 3.输入node,然后回车进入node命令行,再输入console.log('Hello World!'),查看日志输出结果 4.可引入一段js文件,比如一段求和的js代码,具

一、Android学习第一天——环境搭建(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 环境搭建需要①Android SDK ②JDK ③eclipse 环境搭建开始: ㈠将Android SDK与JDK解压,最好路径中不要出现汉字,然后配置环境变量,方便命令行操作 ㈡为eclipse(3.4.1)安装开发Android插件——Android ADT Help-->Install N