02_使用Vite搭建Vue3项目

这篇具有很好参考价值的文章主要介绍了02_使用Vite搭建Vue3项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先插件添加:Live Server、Vue - Official、Vue VSCode Snippets、别名路径跳转

官网:Vite | 下一代的前端工具链 (vitejs.dev)

1.创建一个文件夹VueApp,运行cmd转到该目录下,执行命令:npm create vite@latest

02_使用Vite搭建Vue3项目

2.然后转到vuedemo目录下命令:cd vuedemo,

3.执行命令:npm install。文件夹内会新添加node_modules文件夹和package-lock.json文件。

npm会根据项目根目录下的package.json文件中的dependencies和devDependencies字段来安装所需的包。这些包将被下载并安装到项目的node_modules目录中。

4.运行该项目:npm run dev

5.修改项目:

删除\vuedemo\src\style.css文件。

删除\vuedemo\src\components\HelloWorld.vue文件。

\vuedemo\src\main.js内的 “import './style.css” 删除掉。

\vuedemo\src\App.vue内的 script template  style内的东西都删除掉

 文章来源地址https://www.toymoban.com/news/detail-844577.html

6.修改Vue内容模板路径:C:\Users\Lua\.vscode\extensions\sdras.vue-vscode-snippets-3.1.1\snippets\vue.json

app.vue

<script setup>
import {reactive } from 'vue'
const web=reactive({
  show:true
});
const toggle=()=>web.show=!web.show;
</script>

<template>
<h3>{{web.show}}</h3>
<p v-show="web.show">Hello....</p>
<button @click="toggle">切换</button>
</template>

<style  scoped>
</style>

 

运行:npm run dev

 

导入组件

在线components文件内创建header.vue,footer.vue两个文件

app.vue

<script setup>
import Header from './components/header.vue';
import Footer from './components/footer.vue';
</script>

<template>
<Header/>
<hr/>
<Footer/>
</template>

<style  scoped>
</style>

Header和Footer必须为大写

 

 

父传子 defineProps

app.vue是父组件,因为它包含了header.vue和footer.vue两个子组件

1.通过数组方式传递

app.vue

<script setup>
import Header from './components/header.vue';
import Footer from './components/footer.vue';
</script>

<template>
<Header PName="张三" Page="24"/>
<hr/>
<Footer/>

</template>

<style  scoped>
</style>

header.vue

<script setup>
    const user=defineProps(["PName","Page"]);
    console.log(user);
</script>

<template>
Hello
</template>

<style  scoped>
</style>

 

2.通过对象方式传递

app.vue

<script setup>
import Header from './components/header.vue';
import Footer from './components/footer.vue';
const Pdata={
  name:"李四",
  age:25
}
</script>

<template>
<Header PName="张三" Page="24"/>
<hr/>
<Footer v-bind="Pdata"/>

</template>

<style  scoped>
</style>

footer.vue

<script setup>
/*
const Pdata=defineProps({
    name:String,
    age:Number
});
*/
const Pdata=defineProps({
    name:String,
    age:{
        type:Number,
        required:false,////true表示必传属性,若未传则会提示警告信息
        default:26  ////未传默认值
    }
});

console.log(Pdata);
</script>

<template>
你好.....
</template>

<style  scoped>
</style>

 

3.传递响应式数据

app.vue

<script setup>
import { reactive } from 'vue'
import Header from './components/header.vue';
import Footer from './components/footer.vue';
const Pdata=reactive({
  name:"李四",
  age:26,
  id:1
});

const AddAge=()=>{
  Pdata.id++;
  console.log(Pdata.id)
}

</script>

<template>
<Header PName="张三" Page="24"/>
<hr/>
<button @click="AddAge">ID自增</button>
<br/>
<Footer v-bind="Pdata"/>

</template>

<style  scoped>
</style>

footer.vue

<script setup>
const Pdata=defineProps({
    name:String,
    age:{
        type:Number,
        required:false,////true表示必传属性,若未传则会提示警告信息
        default:26  ////未传默认值
    },
    id:Number
});
console.log(Pdata);
</script>

<template>
<h3>fooooooooooooooooooter</h3>
age:{{ Pdata.id }}
</template>

<style  scoped>
</style>

 

 

子传父 defineEmits

header.vue

<script setup>
    //子传父
    const dateuser=defineEmits(["getuser"]);
    dateuser("getuser",{name:"王五",age:33});
</script>

<template>
Hello
</template>

<style  scoped>
</style>

app.vue

<script setup>
import { reactive } from 'vue'
import Header from './components/header.vue';
import Footer from './components/footer.vue';

const getuserinfo=(data)=>{
  console.log("-------子传父----------")
  console.log(data);
}

</script>

<template>
<Header  @getuser="getuserinfo"/>
<hr/>
<button @click="AddAge">ID自增</button>
<br/>
<Footer />

</template>

<style  scoped>
</style>

传递事件

header.vue

<script setup>
    //子传父
    const dateuser=defineEmits(["getuser","useradd"]);
    dateuser("getuser",{name:"王五",age:33});

    const add=()=>dateuser("useradd",10);
</script>

<template>
<button @click="add">添加用户</button>
</template>

<style  scoped>
</style>

app.vue

<script setup>
import { reactive } from 'vue'
import Header from './components/header.vue';

const getuserinfo=(data)=>{
  console.log("-------子传父111----------")
  console.log(data);
}

const getuseradd=(data)=>{
  console.log("-------子传父222----------")
  console.log(data);
}

</script>

<template>
<Header PName="张三" Page="24" 
 @getuser="getuserinfo" @useradd="getuseradd"/>
<hr/>
</template>

<style  scoped>
</style>

 

生命周期函数

挂载阶段

       onBeforeMount

               在组件实例即将被挂载到DOM树之前调用

               此时模板还未编译或渲染到DOM,通常用于执行初始化操作,

               如:获取异步数据、设置初始属性值等

       onMounted

               在组件成功挂载到DOM并完成首次渲染后调用

               此时可以访问和操作DOM元素,

               并执行与页面交互相关的逻辑

更新阶段

       onBeforeUpdate (由于响应式数据变化)

               在组件更新之前即将重新渲染时调用

               可以根据新的参数判断是否需要进行特殊处理,

               甚至可以选择阻止此次更新过程

       onUpdated

               在组件完成更新并重新渲染后调用

               可以基于新的渲染结果处理更新后的数据

卸载阶段

       onBeforeUnmount

               在组件从DOM中销毁之前调用

               用于释放资源,如:清理计时器、解绑事件监听器等

       onUnmounted

               在组件已经从DOM中移除并销毁后调用

               确保组件所占用的所有资源都被正确释放

错误处理

       onErrorCaptured

               在捕获到组件中的错误时调用

               用于处理错误,如:记录错误日志等

 

到了这里,关于02_使用Vite搭建Vue3项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于vue3+ts+vite的项目使用‘unplugin-auto-import/vite’插件,自动全局导入api的注意事项

    ​  1.首先安装插件 npm install unplugin-auto-import @vitejs/plugin-vue -D 2.安装完成后在vite.congfig.ts中配置,红色部分就是关于插件的基础自动导入部分,这样就可以将vue和router的相关api全局导入了, import AutoImport from \\\"unplugin-auto-import/vite\\\" export default defineConfig({   plugins: [     vue(),  

    2023年04月12日
    浏览(49)
  • Vue3+Vite+Pinia+Naive项目搭建之二:scss 的安装和使用

    前言 如果对 vue3 的语法不熟悉的,可以移步 Vue3.0 基础入门,快速入门。 github 开源库:Vue3-Vite-Pinia-Naive-Js gitee   开源库:Vue3-Vite-Pinia-Naive-Js 1. 安装依赖  2. 新增 src/assets/style/reset.scss 页面样式初始化 3. 新增 src/assets/style/common.scss 共用样式 4. 新增 src/assets/style/utils.scss 工

    2024年02月12日
    浏览(45)
  • 使用vue3 + TS + Pinia + Vant4 + vite搭建商城H5项目框架

    本文主要将如何利用搭建一个初始化的商城H5项目框架。初始化阶段使用的技术栈有:vue3.2、vue-router、 TS 、 Pinia 、 Vant4、Less、vite                         node -v 检测是否有安装node.js,未安装请先去官网安装node.js         终端输入: npm init vite         自定

    2024年02月12日
    浏览(36)
  • electron+vue3全家桶+vite项目搭建【25】使用electron-updater自动更新应用

    demo项目地址 electron-updater官网 我们不可能每次发布新的版本都让用户去手动下载安装最新的包,而是应用可以自动下载新包进行覆盖安装,electron-updater就可以非常方便的实现这个功能 引入依赖 实测用pnpm安装打包运行会有问题,这里还是推荐使用npm管理依赖 配置electron-bui

    2024年02月14日
    浏览(38)
  • vite搭建vue3项目

    参考视频 创建一个项目名称的文件夹 执行命令:npm init -y 快速的创建一个默认的包信息 安装vite: npm i vite -D -D开发环境的依赖 安装vue,现在默认是vue3. 执行命令: npm i vue -D/-S都可以 创建index.html文件,src=“入口js文件” ,添加id=\\\"app\\\"挂载点 创建src目录下的js入口文件main.js 创建

    2024年02月09日
    浏览(36)
  • Vue3+Vite项目搭建

    技术栈:vue3+ts+vite+vue-router+element-plus+pinia 为什么选择vite而不是vue-cli: vite 是一个基于 Vue3 单文件组件的非打包开发服务器,它做到了本地快速开发启动: 快速的冷启动,不需要等待打包操作; 即时的热模块更新,替换性能和模块数量的解耦让更新飞起; 真正的按需编译,

    2024年02月08日
    浏览(38)
  • Vue3 + Vite 实现项目搭建

    首先嘞,这个博文就是简单的记录一下自己的对 Vue3 的学习,所以说呢,并不代表他是完全正确的。 创建 Vue3 项目有两种常见的方式,一种是想 vue2 版本一样使用脚手架工具创建,创建 vue3 项目的脚手架必须是4版本以上的,另一种方法就是使用 vite 创建,为什么使用 vite 呢

    2024年02月11日
    浏览(39)
  • electron+vue3全家桶+vite项目搭建【13.1】ipc通信的使用,主进程与渲染进程之间的交互

    electron项目常常由一个主进程和多个渲染进程构成,渲染进程之间是隔离的,而所有渲染进程都和主进程共享资源。 所有的渲染进程都是由主进程创建的 每个窗口都对应着一个渲染进程 所有的渲染进程共享一个主进程 我们主进程与渲染进程交互,渲染进程与渲染进程交互【

    2024年02月10日
    浏览(41)
  • vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

    目录 一、搭建vue3 项目前提条件 二、通过create-vue搭建vue3 项目 三、搭建一个 Vite 项目 四、构建一个 Vite + Vue 项目 五、打开Vue 项目管理器 六、Vite + Vue 项目目录结构 七、Vite.config.ts配置 前提条件 熟悉命令行 已安装 16.0 或更高版本的 Node.js 同时按window+R键,输入cmd,打开命令提

    2024年01月21日
    浏览(51)
  • vue3 vite直接创建项目 添加 element-ui 按需引入和全部引入

     创建home 工程 yran dev就可以看到一个网址 点进去就可以看到效果了 添加element-ui 之前的main.js 修改后的 element-plus 在vue3中的按需引入。要比2简介很多 。自动导入也是推荐的一种写法 我们注释掉全局引用  然后改为按需引入 源文件  修改后 首先安装两款插件 修改后

    2024年02月17日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包