第一节:安装

Node.js

命令行的TypeScript编译器可以使用Node.js包来安装。

安装

npm install -g typescript

编译

tsc helloworld.ts

由于无法直接运行TypeScript ,所以会将 ts文件 转换成 js文件, 生成一个 js 的文件;

也可以安装 ts-node ,他是封装了这个编译的过程,不会生成 JS 文件;'

安装

npm install -g ts-node

编译

ts-node helloworld.ts

遇到的问题

1、Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
解决:npm install -g @types/node

因为console 不属于 EcmaScript 标准。DOM 里面的 console 是浏览器环境下的,属于浏览器BOM API,Node 里面的 console 是 Node.js 里面的,由nodejs自己定义的API,两者虽然有同样的功能,但是并不是同一个东西,例如你可以参考:如果从 Node.js 编译到浏览器环境, Webpack 本来是需要对 console 进行 polyfill 的,但是恰好有一样的功能,所以不需要。你可以把 console 想成 fs 就是一样的道理了,你不装 @types/node 根本无法使用 fs 的类型提示。 因此总结,主要原因 TypeScript 自带的类型只有 DOM 环境里面的那些类型(在 lib.dom.d.ts 里面),Node.js 的类型是不自带并且通过 @types/node 这个库来维护的。

相关推荐
Momo__1 天前
TypeScript satisfies 操作符——比 as 更安全的类型守门员
前端·typescript
Awu12272 天前
⚡从零开发 Agent CLI(四):给 CLI 装上"LLM 引擎"
typescript·ai编程·claude
假如让我当三天老蒯4 天前
TypeScript 继续学习(学习用)
前端·面试·typescript
糖拌西瓜皮5 天前
Node.js工程化实践:包管理、TypeScript配置与代码质量
typescript·node.js
Bolt6 天前
TypeScript 7.0 来了:当 tsc 用 Go 重写之后
javascript·typescript·go
Flynt7 天前
装上TypeScript 7.0 RC之后,最让我意外不是10倍提速
typescript·visual studio code
疯狂SQL7 天前
手写高性能在线 JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
typescript·json·next.js·web worker·前端性能优化·esbuild·源码实战
Momo__11 天前
TypeScript NoInfer<T>——精准控制泛型推断的工具类型
前端·typescript
退休倒计时12 天前
【每日一题】LeetCode 146. LRU 缓存 TypeScript
算法·leetcode·缓存·typescript
kyriewen12 天前
TypeScript 高级类型:我用 infer 写了一个类型安全的 EventBus,终于搞懂了泛型约束
前端·javascript·typescript