创建 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>

测试:

相关推荐
吴声子夜歌2 天前
Vue3——网络框架Axios的应用
javascript·vue3·axios
赵庆明老师11 天前
vben开发入门6:tsconfig.json
json·vue3·vben
赵庆明老师11 天前
vben开发入门5:vite.config.ts
前端·html·vue3·vben
沙振宇12 天前
【Web】使用Vue3+PlayCanvas开发3D游戏(十二)渲染PCD点云可视化模型
3d·vue3·点云·pcd
是席木木啊15 天前
告别console.log!Vue3项目日志框架选型指南
前端·vue3·日志框架
程序员-南15 天前
解决 Vue3 中 keep-alive 缓存问题的方法
缓存·vue3
qq_120840937116 天前
Three.js 模型加载稳定性实战:从资源失败到可用发布的工程化方案
前端·javascript·vue.js·vue3·three.js
qq_120840937116 天前
Three.js 模型加载与线上稳定性实战:路径、跨域、缓存与降级全链路指南
开发语言·javascript·缓存·vue3
qq_120840937116 天前
Vue3 + Three.js 实战入门:从零搭建可交互3D场景(含模型加载与性能优化)
javascript·3d·vue3·交互
qq_120840937116 天前
Vue3 + Three.js 入门实战:从 0 到 1 搭建可交互的 3D 场景(含模型加载与性能优化)
javascript·3d·vue3·交互·webgl·gltf