创建 Vue3 工程

创建 Vue3 工程

1.【基于 vue-cli 创建】

官方文档:https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create

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

shell 复制代码
## 查看@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

2【基于 vite 创建】(推荐)

官网网站:https://vitejs.cn

2.1 vite 是新一代前端构建工具,vite 的优势如下:

  • 轻量快速的热重载(HMR),能实现极速的服务启动。
  • TypeScriptJSXCSS 等支持开箱即用。
  • 真正的按需编译,不再等待整个应用编译完成。

2.2 webpack构建 与 vite构建对比图如下:

webpack 模式:

vite 模式:

2.3 操作步骤

官方文档:https://cn.vuejs.org/guide/quick-start#creating-a-vue-application

shell 复制代码
## 1.创建命令
npm create vue@latest

## 2.具体配置
## 配置项目名称
√ Project name: vue3_demo
## 是否添加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

## 3、安装扩展
npm install

## 4、启动
npm run dev

2.4 总结

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

3 、【一个简单的效果】

Vue3 向下兼容 Vue2 语法,且 Vue3 中的模板中可以没有根标签。

App.vue

json 复制代码
<template>
  <div class="app">
    <h2>我是根节点</h2>
    <Person/>
  </div>
</template>

<script lang="ts">
import Person from './components/Person.vue';

export default{
  name:'App',
  components:{
    Person
  }
}
</script>

<style>
.app{
  background-color: #ccc;
  box-shadow: 0 0 10px;
  border-radius: 10px;
  padding: 20px;
}
</style>

components/Person.vue

json 复制代码
<template>
  <div class="person">
    <h2>姓名:{{name }}</h2>
    <h2>年龄:{{ age }}</h2>
    <button @click="changeName">修改姓名</button>
    <button @click="chanageAge">年龄自增</button>
    <button @click="showPhone">查看联系方式</button>
  </div>
</template>

<script lang="ts">
export default
{
  name:'Person',
  data(){
    return {
      name:'张三',
      age:10,
      phone:"13612341234"
    }
  },
  methods:{
    changeName(){
      this.name = 'jason'
    },

    chanageAge(){
      this.age += 1
    },

    showPhone(){
      alert(this.phone)
    }
  }
}
</script>

<style scoped>
.person{
  background-color: skyblue;
  box-shadow: 0 0 10px;
  border-radius: 10px;
  padding: 20px;
}
</style>

测试:

相关推荐
SL-staff3 天前
Vue3私有化AI白板落地实战|解决政企项目智能绘图合规难题(可直接复用源码)
人工智能·低代码·开源·vue3·白板·jvs规则引擎·jvs-draw
雨季mo浅忆3 天前
Cursor快速实现上传Excel功能
前端·vue3·ai编程
ANnianStriver5 天前
PetLumina-AI 驱动的宠物生活管理平台
java·生活·vue3·springboot·ai编程·宠物·全栈开发
雨季mo浅忆6 天前
记录Vue3项目中的各类问题
前端·bug·vue3
八目蛛9 天前
八目蛛网络(免费工具网站导航)
css·vue.js·开源·vue3·html5·ai编程
颂love9 天前
Vue3基础入门
前端·学习·vue3
海市公约10 天前
Vue3组合式API中watch传值生命周期与自定义Hook实战
vue3·生命周期·watch·props·组件通信·defineexpose·自定义hook
海市公约11 天前
Vue3组合式API与响应式系统核心机制详解
vue3·computed·reactive·ref·响应式系统·composition api·script setup
小茴香35312 天前
Vue3路由权限动态管理
前端·前端框架·vue3
暗冰ཏོ16 天前
《2026 Vue2 + Vue3 完整学习指南:基础语法、路由缓存、登录拦截、项目实战与面试题》
前端·vue.js·vue·vue3·vue2