(一)TypeScript概述和环境搭建

前言

TypeScript是一门很重要的后端语言,弥补了JavaScript在弱类型上的缺陷。前端开发无论是Node Vue React都离不开TS,很多前端框架源码也是用TS进行开发,如果想要迈向高级开发,TS是无法绕过的坎,TS的难度和所要花的时间不亚于JAVA Go等后端语言。所以这个系列内容会很多,也会很复杂,做好准备,那就开启TS的ONE PIECE吧。

文章内出现的TS就是TypeScript,JS就是JavaScript,偷懒简写而已。

概述

TS是JS的超集,JS有的功能TS都支持,在此基础上TS引入了更加严格的类型系统,兼具了JS的灵活性和强类型语言的严谨性。TS代码最终会通过编译器编译成JS代码,最终去执行。

核心区别

基础环境搭建

一般在前端开发中需要用TS的时候,都是通过包管理工具,比如npm yarn pnpm去安装依赖,所以这里用pnpm去安装TS。pnpn是npm的增强版本,也是目前最新的包管理工具。为了安装pnpm,需要在本地先安装node环境,node官网地址:nodejs.org/zh-cn/downl...

shell 复制代码
查看node版本
node -v

查看npm版本
npm -v 

通过npm安装pnpm
npm install -g pnpm

默认全局安装最新的
pnpm i typescript@latest

查看安装TS版本
tsc -v

看到这些效果,TS基本环境搭建就OK了。

TS初体验

新建一个.ts文件

typescript 复制代码
let username:string = 'bobo'

通过tsc xxx.ts,会编译生成一个js文件,实际这里是tsc ./1.ts ,生成1.js文件,ts代码也会编译成js代码

如果成功的完成了以上配置和编码,那么你对TS应该多少有点认识,剩下就是语法。

TS配置文件监听

刚刚是通过手动在命令行敲命令,去完成了ts文件的编译,生成js文件。如果频繁修改文件,每次都需要手动敲命令去编译ts,有点麻烦。ts可以监听文件,如果文件发生了修改,就回重新编译生成最新的js,那就很方便。

初始化ts配置文件 tsc --init,会生成☝一个tsconfig.json文件,tsconfig.json中的配置项先不做介绍

开启监听 tsc -w,默认会监听tsconfig.json本层路径的ts文件

TS集成Node环境

后续所有的代码都会在node环境下进行编码,因为在实际开发中,TS也都是在Node环境的项目使用居多。

pnpm init指令会生成一个包管理文件--package.json,如果安装了依赖,都会在package.json中体现。

目前使用的TypeScript是安装在全局,现在可以通过pnpm 在当前工程安装TS

linux 复制代码
    pnpm i typescript -D 

ok,node环境构建完成。

简要分析tsconfig.json文件

tsconfig.json内都是开发相关的可选配置。比如

target:ts编译成的js代码支持到es2016的语法

module:模块化技术,这里使用的是common.js,也就是cjs

outDir: 指生成的js文件所在目录

strict:是否开启严格模式

rootDir:是ts检测代码的目录

那么第一章就到此结束🔚

相关推荐
小奶包他干奶奶15 分钟前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
zy happy43 分钟前
若依 vue3 报错:找不到模块“@/api/xxxx/xxxxx”或其相应的类型声明。。Vue 3 can not find mod
前端·javascript·vue.js
潘小安1 小时前
Git Worktree + Claude Code:让你的开发效率翻倍的秘密武器
前端
meichaoWen1 小时前
【Vue3】vue3的全面学习(一)
前端·javascript·学习
Y***h1872 小时前
第二章 Spring中的Bean
java·后端·spring
小猪努力学前端2 小时前
在 React + React Router v7 SSR 项目里做多端适配,我踩的两个坑
前端·react.js
q***d1732 小时前
React桌面应用开发
前端·react.js·前端框架
8***29312 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
0***142 小时前
React计算机视觉应用
前端·react.js·计算机视觉
Q***K552 小时前
React高级
前端·react.js·前端框架