VueCli3构建TS项目的方法步骤

yizhihongxing

下面是关于使用VueCli3构建TS项目的攻略:

1. 安装 VueCli3

如果你尚未安装VueCli3,需要使用以下命令进行安装:

npm install -g @vue/cli

2. 创建项目

创建项目时,需要选择"Manually select features",并勾选TypeScript、Linter / Formatter等功能。命令如下:

vue create my-project

在选择配置时,需要按照自己的实际情况进行选择。如果未选择TypeScript,则需要在项目中手动添加TypeScript支持。

3. 配置项目

为了使项目支持TypeScript,需要对项目进行一些配置。

配置tsconfig.json

VueCli3创建项目时,会在项目根目录下自动生成tsconfig.json文件。但默认生成的tsconfig.json并不适合我们的项目,需要进行修改。

以下是常用的tsconfig.json配置:

{
  "compilerOptions": {
    "target": "es5",
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "allowSyntheticDefaultImports": true,
    "noImplicitAny": false,
    "lib": [
      "esnext",
      "dom"
    ],
    "types": [
      "webpack-env",
      "jest"
    ]
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.tsx",
    "tests/**/*.ts",
    "tests/**/*.tsx"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts",
    "**/*.spec.tsx"
  ]
}

配置babel.config.js

为了使项目支持装饰器等更高级的语法特性,需要配置babel。在项目根目录下创建babel.config.js文件,并添加以下配置:

module.exports = {
  presets: [
    '@vue/app'
  ],
  plugins: [
    ['@babel/plugin-proposal-decorators', {
      'legacy': true
    }],
    ['@babel/plugin-proposal-class-properties', {
      'loose': true
    }]
  ]
}

4. 创建组件

在项目中创建一个名为MyComponent.vue的组件,并在其中写入以下代码:

<template>
  <div>{{ message }}</div>
</template>

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

@Component
export default class MyComponent extends Vue {
  message: string = 'Hello, World!'
}
</script>

<script>标签中,需要使用vue-property-decorator库来给MyComponent类添加装饰器。

5. 使用组件

在App组件中引入MyComponent组件,并将其添加到template中。

<template>
  <div id="app">
    <my-component></my-component>
  </div>
</template>

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import MyComponent from './components/MyComponent.vue'

@Component({
  components: {
    MyComponent
  }
})
export default class App extends Vue {}
</script>

示例1

下面是一个基于VueCli3 + TypeScript的TodoList示例项目:https://github.com/Dream4ever/vue-cli3-ts-todolist

示例2

下面是一个使用VueCli3 + TypeScript创建的一个基础的后台管理系统项目:https://github.com/L-Chris/vue-ts-admin。该项目具体介绍请参考项目README.md文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VueCli3构建TS项目的方法步骤 - Python技术站

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

相关文章

  • Sublime Text新建.vue模板并高亮(图文教程)

    下面我将为你详细讲解“Sublime Text新建.vue模板并高亮(图文教程)”的攻略: Sublime Text新建.vue模板并高亮(图文教程) 1. 下载Vue Syntax Highlight插件 首先,在Sublime Text中安装Vue Syntax Highlight插件。可以选择在菜单栏中选择“Preferences” -> “Pa…

    Vue 2023年5月28日
    00
  • vue+swiper实现时间轴效果

    接下来我会详细讲解“Vue+Swiper实现时间轴效果”的完整攻略,步骤如下: 搭建项目环境首先需要安装Vue和Swiper,可以使用Vue CLI创建一个空项目模板,然后通过npm安装Swiper和其他需要的依赖库。 编写时间轴结构使用Vue的template语法编写HTML结构,时间轴主要由时间和内容组成。将时间和内容放置在同一个div下,使用v-for…

    Vue 2023年5月29日
    00
  • vuejs中使用mixin局部混入/全局混入的方法详解

    下面我详细讲解下“vuejs中使用mixin局部混入/全局混入的方法详解”。 什么是Mixin? 在VueJS中,Mixin是一种可以将多个组件中重复的代码封装成可复用的功能的方法。你可以将一些常见的代码部分提取出来形成一个Mixin对象,然后将它应用到多个组件中去。 全局混入 全局混入是指将Mixin全局应用于所有的Vue实例中去。这样做的好处是可以避免重…

    Vue 2023年5月28日
    00
  • Vue路由router详解

    Vue路由router详解 什么是路由 路由指的是根据不同的URL地址展示不同的页面内容,Vue Router是Vue.js官方的路由管理器。使用Vue Router可以很方便地实现单页面应用程序(SPA)中的多视图管理。 安装 安装Vue Router很简单,在Vue CLI中提供了预设的脚手架模板供使用者选择,其中就包括了Vue Router功能。 步骤…

    Vue 2023年5月29日
    00
  • vue组件代码分块和懒加载讲解

    我们来详细讲解“vue组件代码分块和懒加载讲解”的攻略。 概述 首先,我们需要明确一个概念:Vue.js 是一个渐进式的JavaScript框架,其中的组件化是一个非常重要的特点,可以让我们的代码更加易维护和协作。但是,当项目规模非常大时,组件的数量也会变得非常多,这时就会导致页面加载速度慢的问题。因此,为了优化项目的性能,我们可以通过将代码分块和懒加载来实…

    Vue 2023年5月29日
    00
  • vue中如何去掉空格的方法实现

    首先需要明确一下,“vue中如何去掉空格的方法实现”这个问题具体指什么样的空格。如果是指字符串中的空格,那么可以采用 JavaScript 内置的字符串方法 replace() 来实现去除,示例如下: // 去除字符串中所有空格 let str = ‘ hello world ‘ str = str.replace(/\s/g, ”) console.lo…

    Vue 2023年5月27日
    00
  • vue对象复制方式(深拷贝,多层对象拷贝方式在后面)

    Vue.js是一个非常流行的JavaScript框架,它提供了一种响应式的数据绑定机制,使开发人员可以方便地管理和修改UI状态。在Vue.js开发中,我们经常需要对Vue对象进行复制操作,这里提供了深拷贝和多层对象拷贝两种方式。 深拷贝方式 深拷贝是指将一个对象及其所有属性和属性值复制到一个新的对象中,这个新的对象与原始对象没有任何关联。在JavaScrip…

    Vue 2023年5月28日
    00
  • vue中使用element日历组件的示例代码

    下面是使用Element UI中日历组件在Vue项目中的示例代码攻略,包含两个示例: 步骤1:安装Element UI 在Vue项目中使用Element UI之前,需要先安装Element UI。可以使用npm或yarn进行安装,这里以npm为例进行说明。 先在项目根目录下执行以下命令安装Element UI: npm install element-ui …

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