当前位置: 首页 > news >正文

一、typescript介绍和安装

TypeScript是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集,他本质还是要转化为javascript,现在大部分的浏览器还只兼容到es5,所有就得把Typescript代码转化为javascript代码;
es6是约定,所有浏览器都可以实现,但是不是所有浏览器都支持,在这个上chrome支持的最好,有时,当我们处于“use strict”模式时,ES6的特性才会被打开,因此为了测试我们的ES6代码,我的建议是总是在文件的顶部添加“use strict”。
在这里要特别提醒,要支持es6,node的版本最少要6以上,这边用的是8.11.1的版本

typescript转化为javascipr的过程,成为编译,一般都用tsc在命令行上编译 当然在angular项目中,没有必要使用tsc去编译,因为webpack会完成这项工作;
接下来开始去了解typescript

首先安装typescript,在命令行中敲上

npm install -g typescript
复制代码

上面这个命令执行完后,你电脑就安装了typescipt的编译器,并且自动的把tsc给你加到环境变量,显示版本号

tsc -v
Version 2.9.1
复制代码

在你喜欢的地方,新建一个文件夹,然后新建一个文件,然后在里面创建一个hello.ts的文件,在里面输入

console.log('hello world')
复制代码

然后在这个文件目录下,打开命令行输入

tsc hello.ts
复制代码

执行完毕以后,你会发现,在你的文件夹下多了一个hello.js的文件,运行这个文件

使用node hello.js
复制代码

而这样每写一次文件就要编译一次,是不是觉得很麻烦,tsc给我们很好用的参数

tsc -w hello.ts
复制代码

上面这样就可以自动监听hello.ts文件的变化了

除了以上的参数以外,还可以这样写

tsc -t ES6 -w hello.ts
复制代码

这样就会编译未es6的代码,同样的写法参数不同可以转化为ES5的,当然默认不带==-t==是转化为ES5的

这样每次输入命令都得自己手动输入参数,是不是觉得很麻烦,其实还有更简单的办法,tsc可以根据配置文件进行读取,然后操作,在命令行中输入

tsc --init
复制代码

以上执行完后,你就会发现,在文件夹目录下,多了一个tsconfig.json的文件;

现在如果你想监听文件夹下的所有文件,只要在命令行中输入

tsc -w
复制代码

它会根据tsconfig.json配置去监听这个目录下的所有文件

tsc -w
复制代码

其实如果在编译的过程中报错了,一般的,tsc还是会输出文件,如果不想它输出,可以去配置tsconfig.json

es6和typescript参考链接:https://codecraft.tv/courses/angular/es6-typescript/1/

转载于:https://juejin.im/post/5b40e047f265da0f82021242

相关文章:

  • OpenStact之cinder
  • 对Node的优点和缺点提出了自己的看法?
  • 【刷算法】求1+2+3+...+n
  • 浅谈JavaScript错误
  • 洛谷P1341 无序字母对
  • 十三、数据源的配置
  • Promise 使用技巧九则
  • Linux ,强制更新只读文件,强制写入命令
  • 卸载pip工具
  • Ubuntu 12.04将默认集成Landscape管理套件【转】
  • 基础技能 | Git
  • SPP-net原理解读
  • [HDU3710]Battle over Cities
  • Vue学习笔记4
  • 你知道吗?一把能打开100000亿新兴市场的钥匙就攥着你手里!
  • Angular4 模板式表单用法以及验证
  • bearychat的java client
  • Django 博客开发教程 16 - 统计文章阅读量
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Linux Process Manage
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • python_bomb----数据类型总结
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • SpringBoot几种定时任务的实现方式
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 数据仓库的几种建模方法
  • 自动记录MySQL慢查询快照脚本
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​如何防止网络攻击?
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • ()、[]、{}、(())、[[]]命令替换
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (接口自动化)Python3操作MySQL数据库
  • (六)软件测试分工
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)Linq学习笔记
  • (轉貼) UML中文FAQ (OO) (UML)
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .Net MVC4 上传大文件,并保存表单
  • .net 受管制代码
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET处理HTTP请求
  • /etc/shadow字段详解
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [ACTF2020 新生赛]Upload 1
  • [BIZ] - 1.金融交易系统特点
  • [C# WPF] 如何给控件添加边框(Border)?
  • [C#] 我的log4net使用手册
  • [ComfyUI进阶教程] animatediff视频提示词书写要点
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [GXYCTF2019]BabySQli1
  • [hdu4622 Reincarnation]后缀数组