Vue新搭档TypeScript快速入门实践记录

yizhihongxing

下面是关于《Vue新搭档TypeScript快速入门实践记录》的详细攻略。

什么是 TypeScript

TypeScript 是 JavaScript 的超集,支持静态类型和其他一些语言特性,它最终会被编译成 JavaScript 代码。它大大提升了代码的可维护性和规模化开发能力。在 Vue 项目中使用 TypeScript,可以使代码更加清晰、可读性更高、可重构性更好以及更好的支持 IDE 自动补全等功能。

TypeScript在Vue项目中的配置

依赖

在使用 TypeScript 前需要安装 TypeScript 编译器和 Vue 的 TypeScript 类型,命令如下:

yarn add -D typescript @vue/cli-plugin-typescript

配置文件

在项目的根目录下新建 tsconfig.json 文件,如下:

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "allowJs": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "noImplicitAny": true,
    "noImplicitThis": true,
    "strictNullChecks": true,
    "sourceMap": true,
    "declaration": false,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "lib": ["esnext", "dom"],
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  },
  "exclude": ["node_modules"]
}

配置 ESLint

在使用 TypeScript 的 Vue 项目中,为了避免一些类型错误,需要配置 ESLint 能够解析 TypeScript。可以在项目根目录下创建 .eslint.js 文件,在其中加入以下代码:

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/essential',
    '@vue/typescript/recommended',
    '@vue/prettier',
    '@vue/prettier/@typescript-eslint'
  ],
  parserOptions: {
    parser: '@typescript-eslint/parser'
  },
  plugins: ['@typescript-eslint'],
  rules: {}
}

配置 Vue CLI

如果是在 Vue 项目中配置 TypeScript,可以直接使用 Vue CLI。在 Vue CLI 创建项目时,选择 TypeScript 即可自动生成相关配置。

vue create myproject

在上面命令行中选择 default(默认即可)。

示例

下面是两个 TypeScript 在 Vue 项目中的示例:

示例一:字符串转换为数字

有时候我们从后端接口中获取到的值都是字符串类型的,为了方便处理数据,我们需要将其转换为数字类型。

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
@Component({
  components: {}
})
export default class HelloWorld extends Vue {
  // 将字符串转换为数字类型 (parseInt)
  strToNumber(str: string): number {
    return parseInt(str, 10)
  }

  mounted() {
    console.log(this.strToNumber('123'))
  }
}
</script>

在上面的例子中,我们使用到了类型声明、函数的参数和返回值类型说明,这都是 TypeScript 的强大特性之一。

示例二:打印可选属性的值

在 Vue 组件中,有时存在可选的 props 属性或者 data 中的可选值,为了避免在访问时出现 undefined 或者 null 的情况,我们需要判断其是否存在,这时可以使用可选链符 ?

<script lang="ts">
import { Component, Vue, Prop } from 'vue-property-decorator'

@Component({
  components: {}
})
export default class HelloWorld extends Vue {
  // 定义一个可选的 prop
  @Prop({ default: undefined }) private value!: number | undefined

  mounted() {
    // 使用可选链符打印可选属性的值
    console.log(this.value?.toFixed(2))
  }
}
</script>

在上面的例子中,我们使用到了 Prop 类型声明和可选链符 ? 等 TypeScript 的特性。

结语

以上是关于《Vue新搭档TypeScript快速入门实践记录》的攻略分享。通过本文的介绍,相信大家对如何在 Vue 项目中使用 TypeScript 有了更清晰的认识,希望能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue新搭档TypeScript快速入门实践记录 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Vue3中事件总线的具体使用

    事件总线是 Vue 的一个重要功能,可实现在不同组件间传递数据和通知。在 Vue3 中,官方推荐使用新的 APIs 来实现事件总线。具体实现方式如下: 创建事件总线 Vue3 中通过创建一个具有事件派发功能的实例来实现事件总线功能。我们可以使用 createApp 函数创建一个实例: import { createApp } from ‘vue’; cons…

    Vue 2023年5月29日
    00
  • 详细聊聊Vue的混入和继承

    详细聊聊Vue的混入和继承 什么是混入? 混入是一个编程技术,它可以将一个对象的所有属性复制到另一个对象上。在Vue中,混入可以用来在多个组件之间共享代码。具体来说,混入提供了一种将重复代码抽象成可重用性组件的方式,而不是从对一个组件的功能进行继承。 下面是一个示例: // 混入对象 const myMixin = { data() { return { m…

    Vue 2023年5月28日
    00
  • 解决vue下载后台传过来的乱码流的问题

    解决vue下载后台传过来的乱码流的问题可以分为以下几个步骤: 确认后台接口返回的数据是正确编码的,比如UTF-8。 在vue中通过axios等网络请求库获取数据时,设置responseType为’blob’,这样能保证我们得到的数据是二进制的。 通过FileReader读取二进制数据,并转换为String。 创建Blob对象,将转换后的String数据存入该…

    Vue 2023年5月28日
    00
  • vue项目中一定会用到的性能优化技巧

    当面对Vue.js项目时,优化Vue性能在开发过程中十分重要。下面是几个我们一般应用的Vue.js性能优化技巧: 1. 按需引入组件 在开发Vue.js项目时,我们常常会使用第三方组件库。如果一次性引入所有组件,虽然在开发时提高了效率,但是最终的打包出来的文件会过大,会降低应用性能。因此,应该按需加载组件。此时,可以使用Vue异步组件来将项目分割成建议和异步…

    Vue 2023年5月28日
    00
  • Vue实现让页面加载时请求后台接口数据

    当Vue应用渲染完毕后,我们可以在mounted钩子函数中去请求后台接口数据。 以下是步骤: 1. 安装axios 首先,我们需要安装axios来进行请求后台接口数据。可以通过npm或yarn来进行安装。 npm install axios // 或 yarn add axios 2. 导入axios 在Vue组件文件中导入axios库。 import ax…

    Vue 2023年5月28日
    00
  • Vue props传入function时的this指向问题解读

    Vue.js是一款优秀的前端开发MVVM框架,其中props在组件之间传递数据是非常常见的,但是当我们在props中传递function时,可能会存在this指向的问题。本篇攻略将为大家详细讲解“Vue props传入function时的this指向问题解读”。 问题背景 在Vue.js中,使用props传递函数时,如果该函数需要用到父组件的数据或方法,就需…

    Vue 2023年5月28日
    00
  • 在vue项目中,将juery设置为全局变量的方法

    在Vue项目中,使用jQuery需要将其设置为全局变量,下面是完整的攻略: 安装jQuery 首先,需要在项目中安装jQuery,可以使用npm或yarn进行安装。这里以npm为例: npm install jquery –save-dev 引入jQuery并设置为全局变量 在Vue项目的入口文件中(一般是main.js),需要引入jQuery并将其设置为…

    Vue 2023年5月28日
    00
  • vue 实现在函数中触发路由跳转的示例

    当我们在使用 Vue.js 开发 SPA(单页应用)时,使用路由跳转是必不可少的功能。在函数中触发路由跳转,可以让我们更加灵活地控制页面跳转,满足我们的设计需求。下面是实现这一功能的完整攻略: 创建 Vue 项目并安装所需依赖 我们首先需要创建一个 Vue 项目并在其中安装所需的依赖。可以使用 Vue CLI 快速创建一个项目,然后在项目根目录下运行以下命令…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部