当前位置: 首页 > news >正文

创建vue工程、Vue项目的目录结构、Vue项目-启动、API风格

环境准备

  • 介绍:create-vue是Vue官方提供的最新的脚手架工具,用于快速生成一个工程化的Vue项目
  • create-vue提供如下功能:
    统一的目录结构
    本地调试
    热部署
    单元测试
    集成打包
  • 依赖环境:NodeJS
    安装NodeJS

一、 创建vue工程

npm 类似maven
npm init vue@latest
根据命令提示
cd 项目名
npm install
然后用vscode打开项目

二、Vue项目的目录结构

在这里插入图片描述
vite.config.js :Vue项目的配置信息,如:端口号等
package.json :等同于maven里的pom文件,配置文件,包括项目名、版本号、依赖包、版本等。
package-lock.json :项目配置文件(不需要修改)
index.html :默认首页
public: 公共资源
node_modules :下载的第三方包存在目录
src:源代码存放目录
在这里插入图片描述
src下面又有四个目录
assets : 静态资源目录、存放图片、字体
components:组件目录、存放通用组件
App.vue:根组件
main.js :入口文件

三、Vue项目-启动

执行命令 npm run dev ,就可以启动项目
然后输入http://127.0.0.1:5137
重点编写Vue文件
主要包含三部分内容

控制模板的数据及行为
<script setup>import {ref} from 'vue';//调用ref函数,定义响应式数据const msg = ref('西安');
</script>
模板部分,由它生成HTML
<template><h1>{{ msg }}</h1>
</template>
当前组件的CSS样式
<style scoped>/* 样式 */h1{color: red;}
</style>

Vue项目的入口文件,是什么
main.js
Vue的单文件组件中包含那些

三个部分

<script setup>
</script><template><h1>{{ msg }}</h1>
</template>
<style scoped>/* 样式 */h1{color: red;}
</style>

四、API风格

Vue的组件有两种不同的风格:组合式API 和 选项式API

选项式API,选项式API,可以用包含多个选项的对象来描述组件的逻辑,如:data,methods,mounted等。
<script>export default {data(){ //声明响应式对象return {count: 0}},methods: { //声明方法,可以通过组件实例访问increment: function(){this.count++ ;}},mounted(){ //声明钩子函数console.log('Vue mounted ...');}}
</script>
<template><button @click="increment">count:{{ count }}</button>
</template>
组合式API
<script setup>import { onMounted, ref } from 'vue’; const count = ref(0);  //声明响应式变量function increment(){  //声明函数count.value++;}    onMounted(()=>{ //声明钩子函数console.log('Vue Mounted ...);})
</script>
<template><button @click="increment">count:{{ count }}</button>
</template>

Api.vue

<script setup>import {ref,onMounted} from 'vue'//声明响应式数据 ref  响应式对象有一个内部的属性valueconst count = ref(0); //在组合式api中,一般需要把数据定义为响应式数据//const count=0;//声明函数function increment(){count.value++;}//声明钩子函数 onMountedonMounted(()=>{console.log('vue 已经挂载完毕了...');});
</script><template><!-- 写html元素 --><button @click="increment">count: {{ count }}</button>
</template>

然后把这个Api.vue 在App.vue中引入

<!-- <script>//写数据export default{data(){return {msg:'上海'}}}
</script> -->
<script setup>import {ref} from 'vue';//调用ref函数,定义响应式数据const msg = ref('西安');//导入 Api.vue文件import ApiVue from './Api.vue'//导入Article.vue文件import ArticleVue from './Article.vue'
</script><template><!-- html --><!-- <h1>北京</h1> --><!-- <h1>{{ msg }}</h1><br><ApiVue/> --><ArticleVue/>
</template><style scoped>/* 样式 */h1{color: red;}
</style>

组合式Api,一般需要把数据定义为响应式数据
const count = ref(0)

Vue的组件书写分为几种风格
选项式API
组合式API,推荐使用组合式API,用起来更加灵活

Element Plus
Element :是饿了么团队研发的,基于Vue3,面向设计师和开发者的组件库。
组件:组成网页的部件,例如 超链接、按钮、图片、表格、表单、分页条等
Element Plus快速入门
准备工作:
1、创建一个工程的vue项目
2、参照官方文档,安装Element Plus组件库:
npm install element-plus --save
3、main.js中引入Element Plus 组件库,参考官方文档。

import { createApp } from 'vue'     //导入vue
import ElementPlus from 'element-plus'     //导入element-plus
import 'element-plus/dist/index.css'		 //导入element-plus的样式
import App from './App.vue'                   //导入app.vue
const app = createApp(App)                 //创建应用实例
app.use(ElementPlus)					//使用element-plus
app.mount('#app')						//控制html元素

4、制作组件:
访问Element官方文档,复制组件代码,调整
常用组件-分页条
常用组件-表格组件
常用组件-表单组件
常用组件-Card卡片

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 集成Vision Transformer 的概率模型改进了复杂的息肉分割
  • 几行代码使用Go语言对接第三方工具之集成gin、kite框架、通过原生不借助其他软件实现内网穿透工具
  • Make New 函数 ---golang
  • 第八篇【传奇开心果系列】Python微项目技术点案例示例:以微项目开发为案例,深度解读Dearpygui 编写图形化界面桌面程序的优势
  • FreeRTOS_事件组_学习笔记
  • Unidac连接Excel文件
  • Stream流的使用
  • Windows批处理命令和概念
  • php部分特性漏洞学习
  • 【设计模式】JAVA Design Patterns——Bridge(桥接模式)
  • 面试被问到不懂的东西,是直接说不懂还是坚持狡辩一下?
  • test_mqtt/python
  • 帝国CMS如何修改时间格式,变成几分钟,几小时教程
  • 常用 CSS 写法
  • 苹果MacOS系统使用微软远程桌面连接Windows电脑桌面详细步骤
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • CSS中外联样式表代表的含义
  • Git 使用集
  • HTTP请求重发
  • Joomla 2.x, 3.x useful code cheatsheet
  • Koa2 之文件上传下载
  • Lsb图片隐写
  • MQ框架的比较
  • mysql 5.6 原生Online DDL解析
  • Spring框架之我见(三)——IOC、AOP
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 聊聊flink的BlobWriter
  • 十年未变!安全,谁之责?(下)
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 正则表达式-基础知识Review
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ‌内网穿透技术‌总结
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)计算机毕业设计大学生兼职系统
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (一)Java算法:二分查找
  • (转)IOS中获取各种文件的目录路径的方法
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .Net语言中的StringBuilder:入门到精通
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @angular/cli项目构建--Dynamic.Form
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [1] 平面(Plane)图形的生成算法
  • [1159]adb判断手机屏幕状态并点亮屏幕