TypeScript 及类型库 tsd typings @types/XXX 入门
TypeScript入门基本相当于一门和C#语言的东西了,比较漫长的入门过程。
最大的一个门槛,就是 TypeScript 最后编译成 JavaScript。调用别人的库也是用 JavaScript 方式存在的。
TypeScript和JavaScript的协作就需要.d.ts文件了。
查看已经安装的包
npm ls -g --depth 0
tsd本来是安装类型文件的,废弃了,建议typings
typings也废弃了,建议用这样的格式安装
npm install --save @types/node
使用例子
我们通过给node增加类型包来举例,开发一个继承EventEmitter的类的例子。
npm install --save @types/node
这个@types是一个npm发布用户的意思。
涉及文件 .vscode/launch.json、.vscode/tasks.json、package.json、.package-lock.json、tsconfig.json 等
参考
压缩包下载
launch.json (VSCode菜单Debug -> Add Configuration)
{// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "node","request": "launch","name": "Launch Program","program": "${workspaceFolder}\\bin\\index.js",//"preLaunchTask": "build ts",//"cwd": "${workspaceFolder}/./bin", //修改执行node index.js 的路径"console": "internalConsole", //输出到 DEBUG CONSOLE (默认值)"internalConsoleOptions": "openOnSessionStart", //每次运行自动转到 DEBUG CONSOLE 以显示输出内容"outFiles": ["${workspaceFolder}/**/*.js"]}] }
tasks.json (VSCode菜单 Terminal -> Configure Default Build Task)
{// See https://go.microsoft.com/fwlink/?LinkId=733558"version": "2.0.0","tasks": [{"label": "build ts","type": "typescript","tsconfig": "tsconfig.json","problemMatcher": ["$tsc"],"group": {"kind": "build","isDefault": true}}] }
package-lock.json
package.json (npm init 和 npm install npm install --save @types/node)
tsconfig.json (tcs -init)
{"compilerOptions": {"target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */"module": "umd", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */"outDir": "bin", /* Redirect output structure to the directory. */"strict": true, /* Enable all strict type-checking options. */"sourceMap": true,//"baseUrl": "ts", //不要这个设置,会导致自动生成的import语句缺少./部分,运行时报找不到模块出错//"esModuleInterop": true,//"moduleResolution": "node" } }
ts/index.ts 实现源码
console.log("执行路径: " + process.cwd());//CTRL + Shift + Y 显示 DEBUG CONSOLE import { EventEmitter } from "events"; import { N1 } from "./utils";class MyEmitter extends EventEmitter {}let my = new MyEmitter(); my.on("abc", (a1, a2)=>{console.log("event, " + a1 + ", " + a2 + ", " + new Date()); });my.emit("abc", "第一个参数", "第二个参数");let r = N1.C1.Add1(10, 20);console.log(r);
ts/utils.ts
export namespace N1 {export class C1{public static Add1(a:number, b:number){return a * 10 + b * 100;}} }
package-lock.json的作用
转载于:https://www.cnblogs.com/nuets/p/10130929.html
TypeScript 及类型库 tsd typings @types/XXX 入门相关推荐
- [MobX State Tree数据组件化开发][3]:选择正确的types.xxx
?系列文章目录? 定义Model时,需要正确地定义props中各字段的类型.本文将对MST提供的各种类型以及类型的工厂方法进行简单的介绍,方便同学们在定义props时挑选正确的类型. 前提 定义pro ...
- webstorm 不识别.config文件_用TypeScript开发手势库 - (2)tsconfigamp; rollup.configamp;npx...
用TypeScript开发手势库 - (2)tsconfig.json & rollup.config.js & npx any-touch 一个手势库 往期目录 用 TypeScri ...
- 快速而深入地了解TypeScript及其类型
by David Piepgrass 由David Piepgrass 快速而深入地了解TypeScript及其类型 (A quick yet in-depth tour of TypeScript ...
- TypeScript 引入js库
TypeScript 引入js库 如果要使用现有的js文件的话,需要对编译器增加–allowJS参数.可以修改tsconfig.json中的compilerOptions,将其中的"allo ...
- TypeScript 基础类型+函数+接口+类
1.简介: TypeScript 是 JavaScript 的一个超集.由微软开发的自由和开源的编程语言.设计目标是开发大型应用.是一种面向对象的编程语言,遵循强类型 javascript与types ...
- CDR插件开发之CPG插件003 - 使用VS2019编译CDR类型库 VGCoreAuto.tlb
在上篇文章中讲到了CPG插件环境的搭建,实际上主要是使用VS2019这个集成开发环境.由于要使用C++语言环境,因此在安装VS2019的过程中勾选了C++桌面开发环境.CDR软件环境请自行安装X4.X ...
- 简单探讨TypeScript 枚举类型
这篇文章主要介绍了TypeScript 枚举类型,TypeScript 在 ES 原有类型基础上加入枚举类型,使得在 TypeScript 中也可以给一组数值赋予名字,这样对开发者比较友好,可以理解枚 ...
- 如何使用MFC和类型库创建自动化项目
摘要 本文详细介绍了如何自动化像Microsoft Office这样支持COM的应用程序. 更多信息 下面部分介绍了如何创建MFC项目.采用Microsoft Excel举例,你可以将前8个步骤用于任 ...
- TypeScript 基础类型 1
TypeScript 基础类型 自本节起,我们将开始接触 TypeScript 的类型系统,这也是 TypeScript 最为核心的部分. 本节介绍 TypeScript 中一些基础类型,有些特殊类型 ...
最新文章
- xmpp关于后台挂起的消息接收,后台消息推送,本地发送通知
- json.net使用说明一
- Ril分析三——客户端请求和响应处理与modem交互
- openssh升级sftp_CentOS6.5升级OpenSSH 8.3版本
- PP团队圣经巨著《Application Architecture Guide2.0》24章-Web程式开发向导
- C#LeetCode刷题之#26-删除排序数组中的重复项(Remove Duplicates from Sorted Array)
- 初中毕业学计算机在哪学,初中毕业要学计算机要去哪个里学呢
- idea使用activiti插件
- 机器人“病患”会流血会休克,魔鬼训练从斯坦福医院开始 |准医生的噩梦
- java中,数值计算时的类型转换 ( 两个int类型相加,赋值给double )
- 软件工艺师:专业、务实、自豪》一3.3 笔者个人所推崇的定义
- OpnCV_(HoughCircles to find circles)霍夫变换检测圆形
- wget 持续下载确保完成
- (三)MFC学习之动画
- speedoffice(word)如何批量让字体大一号
- SG90舵机驱动,有代码
- Mac如何破解管理员密码
- 【codeforces 760B】Frodo and pillows
- python计算学分绩点的程序_模拟登录教务系统计算GPA的小程序
- 我们能从后验分布中学到什么?贝叶斯后验的频率解释