TypeScript入门一:配置TS工作环境
- 配置手动编译TS文件工作环境
- 配置webpack自动化打包编译工作环境(后面补充)
一、TypeScript入门学习引言
进入主题之前,首先说明这个系列的博客是我刚刚接触TypeScript的学习笔记,可能不会太深入的解读一些原理方面的东西。但尽可能的把基础的入门使用解析清楚,毕竟使用TypeScript来实现的项目一般是比较复杂的项目,不仅仅只是简单的语法使用,而是它带来的特性所解决的问题才更值得我们关注,所以在这个系列之后还会有更深入的工程应用方面的博客,也希望大家能给我提供一些意见和思路。
引用阮大佬博客中这样一段描述:JavaScript 是一种弱类型(或称动态类型)语言,即变量的类型是不确定的。TypeScript 是微软2012年推出的一种编程语言,属于 JavaScript 的超集,可以编译为 JavaScript 执行。 它的最大特点就是支持强类型和 ES6 Class。
支持强类型,这可能会颠覆你对JavaScript这门语言的认知,但这也是JavaScript在面对日益复杂的项目的机遇,至于为什么这么说请等到后期的工程应用方面的博客吧。TypeScript不一定成为每一个项目中的必需品,但是当你需要它的时候你就会知道它的价值。
阮大佬的相关博客:强类型 JavaScript 的解决方案
官网相关重要资料(中文官网首页有直接下载文档的连接):TypeScript语言规范(github连接)
二、配置手动编译TS文件工作环境
第一步:安装nodejs环境;
第二部:安装TypeScript插件: npm install -g typescript
创建一个工作区间:
TS_App//文件夹
index.html
index.ts
然后将下面这段TS代码拷贝到index.ts中:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
} let greeter = new Greeter("world"); let button = document.createElement('button');
button.textContent = "Say Hello";
button.onclick = function() {
alert(greeter.greet());
} document.body.appendChild(button);
然后在控制台使用tsc命令将index.ts换行成一个js文件
tsc index.ts
编译完成后会在当前区间生成一个index.js文件,这时候你可以使用index.html引入这个生成的index.js查看效果。
这里介绍使用一个VS Code编辑器插件:live server
安装这个插件以后可以直接右键html文件界面点击右键(选择):Open with Live Server,这时候可以使用一个自动服务在浏览器打开这个html页面,并且可以动态监听这个页面最新的状态,当页面或者js文件发生改变时会自动刷新页面,这样就不需要每次通过tsc编译完js还要手动刷新页面。
第三步:编译全部ts文件
tsc --init //生成tsconfig.json文件
tsc //tsc直接可以将全部ts文件转换成js文件了
在VS Code中使用TypeScript Auto Compiler插件自动编译ts文件,生成js文件。这个插件需要tsconfig.json文件的配合,通过tsc --init命令将当前目录下的ts文件相关编译描述设定,只要其中一个ts文件发生更改就可以实现被tsconfig.json监控的文件全部编译刷新。
在tsconfig.json文件中可以通过target字段,设置编译的js文件代码符合ES5、ES2015、ES2016...等版本的语法;还可以通过module字段,设置不同的模块化规范,比如commonjs、none、amd、system、umd、es2015、ESNext;还有strict字段可以设置js代码是否为严格模式;esModuleInterop则控制是否允许es2015模块与commonjs某块相互导入的互操作。
TypeScript入门一:配置TS工作环境的更多相关文章
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- typeScript入门(一)构建环境和数据类型
最近入坑v-cli 3.0,发现ts越来越常用了,于是开始入坑学习. 1.构建ts环境 npm install -g typescript Mac和vscode用户可以用以下方式构建tsdemo项目 ...
- NotePad++ 配置Python工作环境
下载地址:https://notepad-plus-plus.org/ Current Version: 7.5.3 sss 显示空格和指标符 为什么建议这么作?因为判断Python语句是否在同一层次 ...
- typescript使用入门及react+ts实战
ts介绍 TypeScript是一种由微软开发的自由和开源的编程语言.它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程. 与js关系 ts与js区 ...
- PHP入门:在Windows中安装PHP工作环境
PHP入门:在Windows系统中分别安装PHP工作环境 一.什么是LAMP? Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是 ...
- 从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境
转载请注明出处! 说在前面的话: 1.为什么不使用现成的脚手架?脚手架配置的东西太多太重了,一股脑全塞给你,我只想先用一些我能懂的库和插件,然后慢慢的添加其他的.而且自己从零开始配置也能学到更多的东西 ...
- vsCode怎么为一个前端项目配置ts的运行环境
vsCode为一个前端项目配置ts的运行环境,ts文件保存的时候自动编译成js文件: 假设此前端项目名称为Web:文件结构如图 1. 在根目录中新建一个“.vscode”文件夹,里面建一个“tasks ...
- [转载] 高效MacBook工作环境配置
原文: http://www.xialeizhou.com/?p=71 高效MacBook工作环境配置 发表于 2015 年 8 月 1 日 由 xialeizhou 本文记录整个配置过程,供新入手M ...
- 在 IntelliJ IDEA 中配置 JSF 开发环境的入门详解
JSF 作为 JavaEE 官方标准,在了解并掌握其基本开发技术后,对于功能要求较高.业务流程复杂的各种现代 Web 应用程序开发将会成为非常合适且强大的高效率开发利器.JSF 的开发环境搭建涉及到在 ...
随机推荐
- 【NANO】引脚说明
http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=489650&page=1
- numpy包中,与线性代数相关的模块——linalg(利那隔)
https://github.com/scalanlp/breeze/wiki/Linear-Algebra-Cheat-Sheethttps://docs.scipy.org/doc/numpy-1 ...
- yaml文件实例:nginx+ingress
[root@lab3 nginx]# cat nginx-test.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: nam ...
- U-Boot NFS RCE漏洞(CVE-2019-14192)
U-Boot NFS RCE漏洞(CVE-2019-14192) 原文:https://blog.semmle.com/uboot-rce-nfs-vulnerability/ 翻译:看雪翻译小组 - ...
- AI - H2O - 安装与运行
安装的要求 H2O的安装对操作系统.编程语言和浏览器有具体的要求. 详情请查看官方信息 下载H2O Downloading & Installing H2O Download 示例 - 在Ce ...
- iOS 多线程的简单理解(4) 线程锁的简单使用
要用到多线程 ,就不得不考虑,线程之间的交互,线程是否安全 推荐一个原文链接 是关于 线程锁的基本使用的 http://blog.csdn.net/qq_30513483/article/detai ...
- Ubuntu 新装服务器部署流程
1.设定时区 rm -f /etc/localtime cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2.配置apt-get源 sed -i ...
- CF1223D Sequence Sorting
思路: 首先把数组离散化,然后观察可以发现,在最优解中最终没有被移动过的那些数字一定是连续的,那么找到最长的连续的数字长度即可. 实现: #include <bits/stdc++.h> ...
- MySQL索引对NULL值的处理
# 索引不会包含有NULL值的列 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的.所以我们在数据库设计时不要让字段的默认值为NU ...
- 常见问题:计算机网络/运输层/UDP
几乎不对IP增加其他东西,无连接. 优势 速度快.适合实时. 无连接建立,没有连接时延. 无连接状态. 分组首部开销小.TCP需20字节,UDP仅需8字节. 使用UDP的协议 DNS SNMP RIP ...