【VUE基础】VUE3第一节—vite创建vue3工程

小C学安全 2024-07-20 17:03:01 阅读 50

什么是VUE

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

截止到2024年7月3号为止,vue的最新版本是3.4.31

在这里插入图片描述

创建VUE3工程

可以通过两种方式创建,第一种利用vue-cli脚手架,第二种通过vite创建

备注:目前<code>vue-cli已处于维护模式,官方推荐基于 Vite 创建项目。

基于 vue-cli 创建

点击链接可查看构建vue环境需要的前提依赖怎么安装,以及怎么通过vue-cli创建vue3工程

Vue3环境安装

基于vue-cli脚手架构建

## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上

vue --version

## 安装或者升级你的@vue/cli

npm install -g @vue/cli

## 执行创建命令

vue create vue_test

## 随后选择3.x

## Choose a version of Vue.js that you want to start the project with (Use arrow keys)

## > 3.x

## 2.x

## 启动

cd vue_test

npm run serve

基于 vite 创建 (推荐)

vite 是新一代前端构建工具,官网地址:https://vitejs.cn

Vite 需要 Node.js 版本 18+ 或 20+。然而,有些模板需要依赖更高的 Node

版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。

确保你安装了最新版本的 Node.js,并且你的当前工作目录正是打算创建项目的目录。在命令行中运行以下命令 (不要带上 $ 符号):

## 1.创建命令

npm create vue@latest

## 2.具体配置

## 配置项目名称

√ Project name: vue3_test

## 是否添加TypeScript支持

√ Add TypeScript? Yes

## 是否添加JSX支持

√ Add JSX Support? No

## 是否添加路由环境

√ Add Vue Router for Single Page Application development? No

## 是否添加pinia环境

√ Add Pinia for state management? No

## 是否添加单元测试

√ Add Vitest for Unit Testing? No

## 是否添加端到端测试方案

√ Add an End-to-End Testing Solution? » No

## 是否添加ESLint语法检查

√ Add ESLint for code quality? Yes

## 是否添加Prettiert代码格式化

√ Add Prettier for code formatting? No

在这里插入图片描述

项目构建完成

在这里插入图片描述

执行命令启动vue工程

<code>npm run dev

在这里插入图片描述

在这里插入图片描述

创建完任务出现一个问题,提示<code>找不到模块“./App.vue”或其相应的类型声明。ts(2307)

在这里插入图片描述

导致出现以上问题是因为未定义.vue文件的类型,导致ts无法解析其类型

在文件根目录下面的,vite-env.d.ts文件中添加如下代码,即可成功解决该问题。

<code>declare module "*.vue" {

import type { DefineComponent } from "vue";

const vueComponent: DefineComponent<{ }, { }, any>;

export default vueComponent;

}

创建一个 Vue 应用

每个 Vue 应用都是通过 createApp 函数创建一个新的 应用实例:

import { createApp } from 'vue'

const app = createApp({

/* 根组件选项 */

})

我们传入 createApp 的对象实际上是一个组件,每个应用都需要一个“根组件”,其他组件将作为其子组件。

如果你使用的是单文件组件,我们可以直接从另一个文件中导入根组件。

import { createApp } from 'vue'

// 从一个单文件组件中导入根组件

import App from './App.vue'

const app = createApp(App)

应用实例必须在调用了 .mount() 方法后才会渲染出来。该方法接收一个“容器”参数,可以是一个实际的 DOM 元素或是一个 CSS 选择器字符串:

<div id="app"></div>code>

app.mount('#app')

应用根组件的内容将会被渲染在容器元素里面。容器元素自己将不会被视为应用的一部分。

.mount() 方法应该始终在整个应用配置和资源注册完成后被调用。同时请注意,不同于其他资源注册方法,它的返回值是根组件实例而非应用实例。

DOM 中的根组件模板

根组件的模板通常是组件本身的一部分,但也可以直接通过在挂载容器内编写模板来单独提供:

<div id="app">code>

<button @click="count++">{ { count }}</button>code>

</div>

import { createApp } from 'vue'

const app = createApp({

data() {

return {

count: 0

}

}

})

app.mount('#app')

当根组件没有设置 template 选项时,Vue 将自动使用容器的 innerHTML 作为模板。

DOM 内模板通常用于无构建步骤的 Vue 应用程序。它们也可以与服务器端框架一起使用,其中根模板可能是由服务器动态生成的。

总结

Vite 项目中,index.html 是项目的入口文件,在项目最外层。加载index.html后,Vite 解析 <script type="module" src="xxx">code> 指向的JavaScriptVue3**中是通过 **createApp 函数创建一个应用实例。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。