Typescript是什么?

TypeScript是Javascript的超集,遵循最新的ES5/ES6规范。Typescript扩展了Javascript语法。

为什么要用Typescript?

1.Typescript更像后端,语言严谨,适合开发大型企业应用

2.丰富的语法提示

3.编写代码时进行类型检查提前避免错误

三种使用方式

1.全局安装typescript对TS进行编译

npm install typescript -g
tsc --init # 户帮我们生成tsconfig.json
tsc # 可以将ts文件编译成js文件,会在当前目录下生成js文件,不写文件名字的话,就全都编译了
tsc --watch # 监控ts文件变化生成js文件

2.快速直接看结果,也可以使用 code runner + npm install ts-node



3.用的多的方式:webpack roolup 等构建工具来处理ts

  • 解析ts方式有两种,ts插件,或者babel
  • rollup 一般用 roolup-plgin-typescript2
  • webpack 一般用 ts-loader 或者 babel-plugin-typescript

roolup方式详细配置

1.安装依赖

npm install rollup typescript rollup-plugin-typescript2 @rollup/plugin-node-resolve rollup-plugin-serve -D

2.初始化TS配置文件

npx tsc --init

3.rollup配置

// rollup.config.js
import ts from 'rollup-plugin-typescript2'
import {nodeResolve} from '@rollup/plugin-node-resolve';
import serve from 'rollup-plugin-serve';
import path from 'path'
export default {
input:'src/index.ts',
output:{
format:'iife',
file:path.resolve('dist/bundle.js'),
sourcemap:true
},
plugins:[
nodeResolve({
extensions:['.js','.ts']
}),
ts({
tsconfig:path.resolve(__dirname,'tsconfig.json')
}),
serve({
open:true,
openPage:'/public/index.html',
port:3000,
contentBase:''
})
]
}

4.package.json配置

"scripts": {
"dev": "rollup -c -w"
}

5.启动服务

npm run dev

6.报错修改



最新文章

  1. 一道js面试题看变量的作用域
  2. UVa11404 - Palindromic Subsequence(区间DP+打印路径)
  3. 最优秀的5个Linux文本编辑器
  4. css 中 的 float :left 和 clear :both
  5. 异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
  6. CentOS7.3虚拟机扩展数据磁盘
  7. Android 开发笔记___图像视图__简单截屏
  8. 灾难性遗忘(catastrophic forgetting)
  9. Linux虚拟内存的添加
  10. Java 实现一个自己的显式锁Lock(有超时功能)
  11. LVS+Heartbeat 高可用集群方案操作记录
  12. PHP百分号转小数,php 小数转换百分数函数
  13. angular学习笔记(三十)-指令(2)-restrice,replace,template
  14. 【scala】 scala 基础(一)
  15. 2018.10.08 NOIP模拟 栅栏(树状数组+rand)
  16. java+redis+lua生成自动增长的ID序列号
  17. Extjs文件选择器
  18. nginx缓存原理
  19. angularjs笔记(1)
  20. ArcGIS几种数据格式2

热门文章

  1. 使用 nvm 对 node 进行版本管理
  2. python 爬虫 TCL SSL 安全证书问题
  3. Hexo多台电脑同步
  4. pycharm系列---django
  5. Java中String被称为不可变字符串的原因
  6. iview table json数据里的num排序问题
  7. 什么是CLR?
  8. Go语言核心36讲26
  9. 【小项目】微信定时推送天气预报Github项目使用及原理介绍-包含cron、天气预报、常用api
  10. Crane如何做到利用率提升3倍稳定性还不受损?