美文网首页
安装与调试

安装与调试

作者: sweetBoy_9126 | 来源:发表于2019-08-16 20:11 被阅读0次
  • 安装
npm install typescript@2.9.2 -g
npm install ts-node@7.0.0 -g

注意记下 ts-node 安装后的可执行文件路径,后面要用的。

  • 调试
  1. 下载 vscode

    1. 按 ctrl+K ctrl+S
    2. 将格式化文件的快捷键绑定到自己喜欢的按键(我用的是 ctrl+L)
  2. 创建文件夹 tsdemo

  3. 用 vscode 打开 tsdemo 目录

  4. 创建 tsdemo/1.ts 作为我们的第一个 TS 文件

  5. 在文件里写一句 console.log(1) 保存

  6. Windows 用户注意了,这里需要单独运行一些命令(Linux 用户和 macOS 用户不用执行)

     npm init -y
     npm i -D ts-node typescript
    
    
  7. 创建 tsdemo/.vscode/launch.json 文件,内容如下

     {
         "configurations": [
             {
             "name": "ts-node",
             "type": "node",
             "request": "launch",
             "program": "注意看这里,要写成ts-node对应的可执行文件,Windows 用户注意了,你应该写成 ${workspaceRoot}/node_modules/ts-node/dist/bin.js",
             "args": ["${relativeFile}"],
             "cwd": "${workspaceRoot}",
             "protocol": "inspector"
             }
         ]
     }
    
    
  8. 打开 tsdemo/1.js,找到调试选项,选择 ts-node,然后点击调试

  9. 然后你就可以看到 console.log(1) 的输入结果了(请确保你选中的是 tsdemo/1.ts)

以官网的一个案例为例:

  • greeter.ts
function greeter(person) {
    return "Hello, " + person;
}

let user = "Jane User";

document.body.textContent = greeter(user);

运行

tsc greeter.ts

补充:tsc是将ts编译成js的编译器,因为js可以在浏览器中运行,而ts不能再浏览器中运行
运行完这个命令后我们的项目里会多一个greeter.js文件

继续改造我们的ts代码

function greeter(person: string) {
    return "Hello, " + person;
}

let user = "Jane User";

document.body.textContent = greeter(user);

这时候我们如果把user改成一个数组,而不是字符串

let user = [1,2,3]

再次进行编译就会报错

因为我们的参数需要的是一个string类型可我们声明的是数组

也就是当我们运行tsc的时候实际上它会首先进行类型检查
用js和ts做类型检查的区别

//js
function greeter(person) {
    if(typeof person !== 'string') {
        throw new Error('person 必须是一个字符串')
    }
    return "Hello, " + person;
}

//ts
function greeter(person: string) {
    return "Hello, " + person;
}

用js检查:是执行到那一行的时候才会报错,也就是上面我们调用greeter这个方法的时候,而且是在浏览器中运行的时候(也就是代码上传到服务器后)的错误
用ts检查:在代码编译时就会报错,也就是在代码上传到服务器之前,在没给用户用之前就能知道我们的代码错了

class Student {
    fullName: string;
    firstName: string;
    middleInitial: string;
    lastName: string;
    constructor(firstName, middleInitial, lastName) {
        this.firstName = firstName
        this.middleInitial = middleInitial
        this.lastName = lastName
        this.fullName = firstName + " " + middleInitial + " " + lastName;
    }
}
// 等价于
// class Student {
//     fullName: string;
//     constructor(public firstName: string, public middleInitial: string, public lastName: string) {
//         this.fullName = firstName + " " + middleInitial + " " + lastName;
//     }
// }

如果constructor里面的参数和外面的公有名字是一样的可以直接简写成public

指定类型
指定函数的返回值类型
1.基本用法

function min(a, b): number {
  return 2
}

上面代码指定函数返回值类型是number
2.函数参数支持多类型(重载)

function add(a: string, b: string): string;
function add(a: number, b: number): number;
function add(a: any, b: any): any {
    return a + b
}
console.log(add('王','立发'))

这里要注意支持多类型最后必须要单独再写一个各个参数都是any的,意思就是上面的任何类型都支持,否则会报错

元祖:示一个已知元素数量和类型的数组,各元素的类型不必相同


interface Person {
    gender: string
}
function merry(a: Person, b: Person): [Person, Person] {
    if (a.gender !== b.gender) {
        return [a,b]
    } else {
        throw new Error('不能结婚')
    }
}
let a = { gender: '男' }
let b = {gender: '女'}
console.log(merry(a,b))

上面的代码如果是不同的性别就会打印出一个数组,如果相同就会抛出错误
问题:如果我们写的不是男和女,也会打印出来,我们只想让他写对应的两种,这个时候我们就可以用枚举

enum Gender {
    男,
    女
}
interface Person {
    gender: Gender
}
function merry(a: Person, b: Person): [Person, Person] {
    if (a.gender !== b.gender) {
        return [a,b]
    } else {
        throw new Error('不能结婚')
    }
}
let a = { gender: Gender.男 }
let b = {gender: Gender.女}

相关文章

  • 通风和空调工程施工内容

    设备安装 风管的制作与安装 水管的安装阀部门的制作与安装 防腐与绝热 检测与试验 自控系统的安装 系统试运行与调试

  • 安装与调试

    Docker认知 (1)场景一 在一台宿主机同时虚拟化多个独立操作系统 (2)场景二 不污染宿主机快速使用匹配的环...

  • 安装与调试

    安装 注意记下 ts-node 安装后的可执行文件路径,后面要用的。 调试 下载 vscode按 ctrl+K c...

  • Valgrind

    一、概述Valgrind 提供调试和分析错误的工具包 二、使用的功能 memcheck三、安装与调试 安装http...

  • LLDB 调试学习

    LLDB调试必看:与调试器共舞 - LLDB 的华尔兹Facebook/Chisel 安装chisel: Alte...

  • 思维导图之消火栓系统安装调试与检测验收

    思维导图之消火栓系统安装调试与检测验收

  • Hbuilder调试ios App

    (持续更新~~) 调试-兼容Android与iOS 4像素的差异 调试-真机运行失败 安装失败 return co...

  • JavaWeb之Tomcat

    三、Tomcat 目录:安装Tomcat、Tomcat的启动与调试、配置Tomcat、发布Web网站 1.安装To...

  • TypeScript安装与调试

    配置 npm 淘宝源 如果后悔了,想撤销淘宝源就运行 npm config delete registry 安装 ...

  • zsh安装与调试

    安装 参考zsh官网https://ohmyz.sh/ 从bash切换到zsh 安装power line 安装Po...

网友评论

      本文标题:安装与调试

      本文链接:https://www.haomeiwen.com/subject/ddtcsctx.html