快速上手

本页将带领你选择并使用 ovx 创建自己的项目基础。

在你开始前

在开始之前,首先你要有一定的 HTML、CSS、JavaScript 的基础,就像是 Vue 官方教程所说一样,否则直接上手框架及使用模板并不是一个很好的主意。

并且,在此之前,希望你有对 ES6 有一定了解,在模板中将使用 ESM 的方法将外部组件等进行引入。

本程序的预制均默认使用 Vue 3,如果你先前学习的是 Vue 2,你可以去学习一下 Vue 3 的一些新语法。

参考 从 Vue 2 迁移open in new window

本程序的所有模板均使用 TypeScript,虽然 TypeScript 也可以兼容 JavaScript,但是还是推荐你去学习 TypeScript 以体会到 TS 带来的便利。当然如果你不熟悉 TS,你也可以将全部变量定义为any类型,并使用// @ts-ignore取消ts检查的报错(如果你确定你写的 JS 没有问题)。

安装并使用

参考

首页 > 使用

选择模板

SFC 还是 TSX?

SFC

SFC 是一种特殊文本格式,能够让我们把一个Vue组件的模板(template)、逻辑(script)、样式(style)封装在单个.vue文件中,如下面的示例:

<script setup>
const greeting = ref("Hello World")
</script>

<template>
  <p class="greeting">{{ greeting }}</p>
</template>

<style scoped>
.greeting {
  color: red;
  font-weight: bold;
}
</style>

SFC是Vue的一个特点,它能够帮助你区分templatescriptstyle,具体可以见 单文件组件 - Vueopen in new window。并且可以使用scoped来限定style标签的作用范围仅限当前组件,也可以使用<script setup>来使用组合式API的编译时语法糖,详见单文件组件 <script setup> - Vueopen in new window

提示

SFC 写法在选择器中被写作vue-ts

TSX

如果你使用 React 进行过开发,那你应该对 TSX 语法比较熟悉。在 Vue 中,TSX 的开发是基于渲染函数 h 的,如果你有使用 Vue 生成 VNode 的经历应该对这个函数不陌生。

与 React 不同的是,虽然 Vue 也有函数式组件,但是函数式组件自身没有任何状态,在渲染过程中也不会创建组件实例,并且跳过常规的组件生命周期,即在函数式组件中你无法使用例如onMounted生命周期 API。并且将函数式组件传递给 vue-router 时也会需要额外的操作,否则将会报错。

所以在 TSX 下创建一个 Vue 组件需要使用 defineComponent 函数,也就是 Vue 教程中的“在HTML中书写Vue”。 例如在defineComponent() - Vueopen in new window中的示例:]

import { defineComponent } from 'vue'

export default defineComponent({
  // 启用了类型推导
  props: {
    name: String,
    msg: { type: String, required: true }
  },
  data() {
    return {
      count: 1
    }
  },
  mounted() {
    this.name // 类型:string | undefined
    this.msg // 类型:string
    this.count // 类型:number
  }
})

或本项目模板中使用的 setup 方法:

import { defineComponent, onMounted } from 'vue';
import { ElMessage } from 'element-plus';
import logo from '../assets/logo.png';

export default defineComponent({
  setup() {
    onMounted(() => ElMessage.warning(<p>You have <b>Successfully</b> run this demo.</p>));
    return () => (
      <>
        <img src={logo} />
      </>
    );
  }
});

提示

TSX 写法在选择器中被写作vue-tsx

Element Plus 与 Ant Design

请根据自己的项目实际需要的风格选择 UI 组件库。

包管理器

NPM 完全可以用于安装依赖包,不过还是推荐你去查看 PNPMYARN

提示

在工具生成项目基础模板文件后,将会询问是否自动执行npm install,如果选择“是(Y)”,将会自动使用NPM进行安装,否则请选择“否(N)”(否也是默认选项),然后在工程目录中手动执行安装依赖的命令。

PNPM

pnpm - 速度快、节省磁盘空间的软件包管理器

中文网: https://www.pnpm.cnopen in new window

性能对比:benchmarksopen in new window

安装:

npm install -g pnpm
YARN

安全、稳定、reproducible projects

中文文档: https://www.yarnpkg.cn/open in new window

特性:featuresopen in new window

安装:

npm install -g yarn

代码编辑器

vite 推荐使用的代码编辑器是 VS Codeopen in new window + Volar 插件,对 Vue 的语法有响应的提示。

WebStormopen in new window 也可以胜任,甚至在unplugin自动导入时,VS Code 可能出现组件无语法提示的情况,而 WebStorm 却可以,但是 WebStorm 是付费软件,需要额外购买。

TIP

如果 VS Code 在unplugin自动导入时可能出现组件无语法提示,可以使用手动import的方式让 VS Code 去读取代码提示。