vue+tsx初体验

本文介绍了随着Vue 3.0的更新趋势,Vue+TS如何成为主流,并详细阐述了Vue项目的初始化过程,包括Vue CLI的安装、项目创建时的选项选择,特别强调了在创建Vue 3.0项目时需勾选Router和Vuex。此外,文章还探讨了Vue组件的三种形式——类组件、扩展组件和函数组件,以及常用的方法如Component装饰器、Prop、data、methods、computed、Watch、Ref和Emit。最后,作者分享了对Vue组件生命周期的理解和项目开发的总结。
摘要由CSDN通过智能技术生成

随着vue3.0更新潮流,vue+ts应该是未来vue项目的一个主流方向。

以前就算用vue-class-component用来写也会有很多暗坑,但是现在vue3.0版本完美支持tsx,终于可以快乐的尝尝鲜了。

首先明确2点:

Q:ts有什么用?
A:类型检查、直接编译到原生js、引入新的语法糖

Q:为什么用ts?
A:TypeScript的设计目的应该是解决JavaScript的“痛点”:弱类型和没有命名空间,导致很难模块化,不适合开发大型程序。另外它还提供了一些语法糖来帮助大家更方便地实践面向对象的编程。

Vue 项目初始化

第一步,安装 vue-cli:
npm install -g @vue/cli
安装成功后,我们即可使用 vue 命令,测试方法:
$ vue -V
@vue/cli 4.3.1

第二步,初始化 vue 项目:
vue create vue-next-test
输入命令后,会出现命令行交互窗口,这里我们选择 Manually select features:
Vue CLI v4.3.1
? Please pick a preset:
default (babel, eslint)
❯ Manually select features
随后我们勾选:Router、Vuex、CSS Pre-processors 和 Linter / Formatter,这些都是开发商业级项目必须的:
Vue CLI v4.3.1
? Please pick a preset: Manually select features
? Check the features needed for your project:
◉ Babel
◯ TypeScript
◯ Progressive Web App (PWA) Support
◉ Router
◉ Vuex
◉ CSS Pre-processors
❯◉ Linter / Formatter
◯ Unit Testing
◯ E2E Testing

注意:Vue 3.0 项目目前需要从 Vue 2.0 项目升级而来,所以为了直接升级到 Vue 3.0 全家桶,我们需要在 Vue 项目创建过程中勾选 Router 和 Vuex,所以避免手动写初始化代码

回车后会自动安装依赖,为了加速安装速度,我们可以使用淘宝源来加快初始化速度:
vue create -r https://registry.npm.taobao.org vue-next-test
项目创建完毕后,目录结构如下:.

├── README.md
├── babel.config.js
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ └── index.html
└── src
├── App.vue
├── assets
│ └── logo.png
├── components
│ └── HelloWorld.vue
├── main.js
├── router
│ └── index.js
├── store
│ └── index.js
└── views
├── About.vue
└── Home.vue

创建路由
项目开发中,我们通常需要创建新页面,然后添加路由配置,我们在 /src/views 目录下创建 Test.vue:

<template>
  <div class="test">
    <h1>test page</h1>
  </div>
</template>

<script>
 export default {
    
 }
</script>

<style lang="less" scoped>
.test {
    
  color: red;
}
</style>

之后在 /src/router/index.js 中创建路由配置:

import {
    createRouter, createWebHashHistory } from 'vue-router'
import Home from '../views/Home.vue'

const routes = [
  {
   
    path: '/',
    name: 'Home',
    component: Home
  
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值