TypeScript:TS文件转JS文件
一、ts安装
安装ts
npm install -g typescript
检测版本
tsc -v
二、ts 手动编译成 js
1. 新建 ts 文件夹,使用 vscode 打开,新建 index.ts,代码如下
(() => { const username: string = "小明"; console.log(username); })();
2. 打开控制台执行 tsc index.ts 自动生成 index.js,代码如下
(function () { var username = "小明"; console.log(username); })();
⚠️注意:测试代码要放入 ()() 立即执行函数里,否则执行 tsc index.ts 后 ts 文件变量飘红
3. tsc 的基本用法如下。
# 使用 tsconfig.json 的配置 $ tsc # 只编译 index.ts $ tsc index.ts # 编译 src 目录的所有 .ts 文件 $ tsc src/*.ts # 指定编译配置文件 $ tsc --project tsconfig.production.json # 只生成类型声明文件,不编译出 JS 文件 $ tsc index.js --declaration --emitDeclarationOnly # 多个 TS 文件编译成单个 JS 文件 $ tsc app.ts util.ts --target esnext --outfile index.js
三、ts 自动编译成 js
1.生成 tsconfig.json 配置文件
新建 ts 文件夹,使用 vscode 打开,终端执行
tsc --init
2.修改 tsconfig.json 配置文件
创建tsconfig.json文件,然后根据自己的需要进行修改,比如输入输出目录,包含的库等等。
{ // 编译选项 "compilerOptions": { // 生成代码的语言版本:将我们写的 TS 代码编译成哪个版本的 JS 代码 // 命令行: tsc --target es5 11-测试TS配置文件.ts "target": "es5", // ts内置的库 // 如果删除了dom库,则无法使用document.getElementById "lib": ["dom", "dom.iterable", "esnext"], // 允许 ts 编译器编译 js 文件 // 允许 import js文件 "allowJs": true, // 跳过类型声明文件的类型检查 "skipLibCheck": true, // es 模块 互操作,屏蔽 ESModule 和 CommonJS 之间的差异 "esModuleInterop": true, // 即使模块没有显式指定 default 导出,也允许通过 import x from 'y' "allowSyntheticDefaultImports": true, // 开启严格模式 "strict": true, // 对文件名称强制区分大小写 Demo.ts "forceConsistentCasingInFileNames": true, // 为 switch 语句启用错误报告 // 如果switch中没有break 或者 return 就报错 "noFallthroughCasesInSwitch": true, // 生成代码的模块化标准 "module": "esnext", // 模块解析(查找)策略 "moduleResolution": "node", // 允许导入扩展名为.json的模块 "resolveJsonModule": true, // 是否将没有 import/export 的文件视为旧(全局而非模块化)脚本文件 "isolatedModules": true, // 编译时不生成任何文件(只进行类型检查) "noEmit": true, // 指定将 JSX 编译成什么形式 "jsx": "react-jsx" // 指定输出目录 "outDir": "./dist", // 指定输出文件目录(用于输出),用于控制输出目录结构 "rootDir": "./src", }, "include": ["./src/**/*"], "exclude": [ "node_modules", "library", "local", "temp", "build", "settings" ], }
3.用watch来动态检测ts文件的改变并自动编译
tsc -w
执行上述文件后我们可以发现进入了watch模式, 当我们在该模式下,对src中的ts文件进行了修改并保存,其会自动执行tsc命令更新.ts文件对应的.js文件,如果有报错也会在命令行中显示。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)