Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

这篇具有很好参考价值的文章主要介绍了Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vue3简介

发展

  • 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)
  • github上的tags地址:https://github.com/vuejs/vue-next/releases/tag/v3.0.0

提升

性能的提升、源码的升级、更好的支持TypeScript、新的特性

创建Vue3工程

使用vue-cli创建

官方文档

  1. 确保vue/cli版本在4.5.0以上

vue --version

  1. 安装或者升级@vue/cli

npm install -g @vue/cli

  1. 创建

vue create vue-test

Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup
Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

  1. 启动

cd vue_test
npm run serve

Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup
Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

使用vite创建

  • 官方文档
  • vite官网
  • 优势如下
    • 开发环境中,无需打包操作,可快速的冷启动。
    • 轻量快速的热重载(HMR)。
    • 真正的按需编译,不再等待整个应用编译完成。
  1. 创建工程

npm init vite-app <project-name>

  1. 进入工程

cd <project-name>

  1. 安装依赖

npm install

  1. 运行

npm run dev

Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup
Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup
Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

分析工程结构(由vue-cli创建的)

文件目录类似Vue2
Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

main.js

//引入的不再是Vue构造函数了,引入的是一个名为createApp的工厂函数
import { createApp } from 'vue'
import App from './App.vue'

// createApp(App).mount('#app')

//创建应用实例对象-app(类似于vue2中的vm,但app比vm更“轻”)
const app=createApp(App)
console.log("app",app)
//挂载
app.mount('#app')

setTimeout(()=>{
    //卸载
    app.unmount("#app")
},5000)

//对比:vue2中的写法
/*const vm=new Vue({
    render:h=>h(App)
})
vm.$mount("#app")*/

Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

vue.config.js

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false, //关闭语法检查
})

App.vue

<template>
<!-- Vue3的组件中的模板结构可以没有根标签-->
  <img alt="Vue logo" src="./assets/logo.png">
  <HelloWorld msg="Welcome to Your Vue.js App"/>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'

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

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

安装开发者工具

Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

初识setup

setup的两种返回值

返回一个对象

App.vue
<template>
  <h1>一个人的信息</h1>
  <h2>姓名:{{name}}</h2>
  <h2>年龄:{{age}}</h2>
  <button @click="sayHello">说话</button>
</template>

<script>
import {h} from 'vue'
export default {
  name: 'App',
  //此处只是测试一下setup,暂不考虑响应式的问题
  setup(){
    //数据
    let name="张三"
    let age=18

    //方法
    function sayHello(){
      alert(`我叫${name},今年${age}岁了~`)
    }
    //返回一个对象(常用)
    return{
      name,
      age,
      sayHello
    }
    //返回一个函数(渲染函数)
    // return ()=>h('h1','个人信息')
  }
}
</script>



Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

返回一个函数

App.vue
<template>
  <h1>一个人的信息</h1>
  <h2>姓名:{{name}}</h2>
  <h2>年龄:{{age}}</h2>
  <button @click="sayHello">说话</button>
</template>

<script>
import {h} from 'vue'
export default {
  name: 'App',
  //此处只是测试一下setup,暂不考虑响应式的问题
  setup(){
    //数据
    let name="张三"
    let age=18

    //方法
    function sayHello(){
      alert(`我叫${name},今年${age}岁了~`)
    }
    //返回一个对象(常用)
    /*return{
      name,
      age,
      sayHello
    }*/
    //返回一个函数(渲染函数)   
    return ()=>h('h1','个人信息')
  }
}
</script>

Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup

Vue2与Vue3混合使用

App.vue

<template>
  <h1>一个人的信息</h1>
  <h2>姓名:{{name}}</h2>
  <h2>年龄:{{age}}</h2>
  <h2>性别:{{sex}}</h2>
  <h2>a:{{a}}</h2>
  <button @click="sayHello">说话</button>
  <br>
  <br>
  <button @click="sayWelcome">说话</button>
  <br>
  <br>
  <button @click="test1">测试一下在Vue2的配置中去读取Vue3中的数据、方法</button>
  <br>
  <br>
  <button @click="test2">测试一下在Vue3中的setup配置中去读取Vue2的数据、方法</button>
</template>

<script>
import {h} from 'vue'
export default {
  name: 'App',
  data(){
    return{
      sex:"男",
      a:100
    }
  },
  methods:{
    sayWelcome(){
      alert("你好"+this.sex+"士,欢迎光临")
    },
    test1(){
      console.log("name",this.name)
      console.log("age",this.age)
      console.log("sex",this.sex)
      console.log("sayHello",this.sayHello)
      console.log("sayWelcome",this.sayWelcome)
    },

  },


  //此处只是测试一下setup,暂不考虑响应式的问题
  setup(){
    //数据
    let name="张三"
    let age=18
    let a=200

    //方法
    function sayHello(){
      alert(`我叫${name},今年${age}岁了~`)
    }
    function test2(){
      console.log('------------------------')
      console.log('name',name);
      console.log('age',age)
      console.log('sex',this.sex)
      console.log('sayWelcome',this.sayWelcome)
    }
    //返回一个对象(常用)
    return{
      name,
      age,
      sayHello,
      test2,
      a
    }
    //返回一个函数(渲染函数)
    // return ()=>h('h1','个人信息')
  }
}
</script>



Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup文章来源地址https://www.toymoban.com/news/detail-410725.html

总结

  1. 理解:Vue3.0中一个新的配置项,值为一个函数
  2. setup是所有Composition API(组合API)“表演的舞台”
  3. 组件中所用到的:数据、方法等等,均要配置在setup中
  4. setup函数的两种返回值:
    (1)若返回一个对象,则对象中的属性、方法,在模板中均可以直接使用(重点关注!)
    (2)若返回一个渲染函数,则可以自定义渲染内容(了解)
  5. 注意点:
    (1)尽量不要与Vue2.x配置混用
  • Vue2.x配置(data、methods、computed…)中可以访问到setup中的属性、方法
  • 但在setup中不能访问到Vue2.x配置(data、methods、computed…)
  • 如果有重名,setup优先
    (2)setup不能是一个async函数,因为返回值不再是return的对象,而是promise,模板看不到return对象中的属性

到了这里,关于Vue3技术1之Vue3简介、创建Vue3工程、分析工程结构、安装开发者工具与初识setup的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3 - 如何将 reactive() 创建的响应式数据 “轻松“ 恢复成初始数据值,重置 reactive() 定义的数据使其恢复成初始定义的数据结构(使用一个函数轻松解决,并且不丢失响应式)

    典型的场景就是我有一个表单,用户输入了一些内容后,点击提交后程序需要 “重置表单” 把上次填过的内容重置掉。 本文实现了 一个函数重置 reactive 创建的数据,恢复 “最开始时的数据结构和默认值,” 你可以直接复制本文提供的函数,有三种方案可选。 直接调用函

    2024年02月11日
    浏览(41)
  • Vue3实战(05)-教你快速搭建Vue3工程化项目

    除了Vue 3这个库,还需Vue 3 最新全家桶。 之前语法演示直接使用script引入Vue 3,从而在浏览器里实现所有调试功能。但实际项目中,使用专门调试工具。在项目上线之前,代码也需打包压缩,并考虑到研发效率和代码可维护性,所以在下面,需建立一个工程化项目实现这些功

    2024年02月08日
    浏览(36)
  • Vue3工程化项目搭建

    源码:vue3-quick-start 预览:vue3-quick-start 工程化概述 前端工程化大致可以分为模块化、组件化、规范化和自动化。 规范化 项目目录结构 语法提示 编码风格规范 联调规范 文件命名规范 代码样式规范 git flow 模块化 模块化是指将一个文件拆分成多个相互依赖的文件,最后进行

    2024年02月16日
    浏览(36)
  • Vue3.0-创建Vue3.0项目

    1、创建工程 通过指令: Npm init vue@latest 选择no,最后输入项目名称 2、进入创建文件的项目目录 cd vue-demo 3、初始化项目 通过指令: npm install 初始化项目,该过程需要等一会 4、启动项目 通过指令: npm run dev 启动后,会出现url,浏览器中输入该url即可 1、安装 Element Plus ele

    2024年02月09日
    浏览(43)
  • vue-create 创建 VUE3项目-创建

    1.创建文件夹右键点击打开终端或目录cmd  2.输入命令 vue create (这里跟的是项目的名称 不能为或带中文)  3.选中第三个类别自定义创建项目              //   或者选择第一个快捷创建VUE3 进入第12步 4.我们可以按上下键,然后按空格键选中需要的选项,最后按回车

    2024年02月03日
    浏览(41)
  • Vue3 项目创建

    1、安装node vue 3需要node10以上版本 node官网下载地址以往的版本 | Node.js 2、安装vue/cli 如果已经全局安装过旧版本的vue-cli 然后安装 为什么要先卸载vue-cli,在安装vue/cli 如果是安装vue3以下版本的脚手架,命令npm install -g vue-cli@版本号 如果是安装3以上版本的脚手架,命令npm ins

    2023年04月09日
    浏览(74)
  • vue3项目创建

    安装node.js vue   --version  (4.5.0以上) npm install -g @vue/cli vue create 项目名称 npm run dev 启动 npm run build 打包 ———————— vite 创建工程 npm create vue@latest npm i npm run dev 启动 npm run build 打包 ===================== 项目结构 .vscode extensions.json  插件 node-modules 依赖 public 页签图标 根

    2024年02月03日
    浏览(29)
  • Vite + Vue3 实现前端项目工程化

    Vue3 发布至今,周边的生态、技术方案已足够成熟,个人认为新项目是时候切换到 Vite + Vue3 了。今天就给大家操作一下这种技术方案实现前端工程化。 数字化管理平台 Vue3+Vite+VueRouter+Pinia+Axios+ElementPlus Vue权限系统案例 个人博客 通过官方脚手架初始化项目 第一种方式,这是使

    2024年02月03日
    浏览(47)
  • 【Vue3】如何创建Vue3项目及组合式API

    文章目录 前言 一、如何创建vue3项目? ①使用 vue-cli 创建  ②使用可视化ui创建  ③npm init vite-app   ④npm init vue@latest 二、 API 风格 2.1 选项式 API (Options API) 2.2 组合式 API (Composition API) 总结 例如:随着前端领域的不断发展,vue3学习这门技术也越来越重要,很多人都开启了学习

    2024年02月03日
    浏览(42)
  • vite+vue3搭建的工程热更新失效问题

           前段时间开发新的项目,由于没有技术上的限制,所以选择了vite+vue3+ts来开发新的项目,一开始用vite来开发新项目过程挺顺利,确实比vue2+webpack的项目高效些(为什么选择vite),但是过了一段时间后,不过怎么操作页面修改页面都无法及时刷新预览页面,各种纠结。

    2023年04月09日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包