全栈开发之路——前端篇(2)文件、组件与setup引入

devtools/2024/9/25 8:20:58/

全栈开发一条龙——前端
第一篇:框架确定、ide设置与项目创建
本文系该系列第二篇,主要将介绍各个文件的意义、组件结构与导入以及setup的引入。

目录

  • 一、src外文件介绍
      • .gitignore为git忽略文件
      • env.d.ts用于识别其他文件
      • index.html
      • json文件
      • vite.config.ts
  • 二、源代码-src
    • 1. main.js
    • 2. components
      • 3.assets
  • 三、Vue文件格式
  • 四、除App外的组件编写及导入
  • 五、Vue3的特色语法

一、src外文件介绍

.gitignore为git忽略文件

有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。

env.d.ts用于识别其他文件

没有这个文件无法声明其他文件。

双击打开,如果飘红,说明你依赖没装全,请输入npm i
如果遇到pm ERR! code ENOENT

时由于你 没有进入你项目的根目录,导致它找不到程序了,你在终端中cd进去就好了

安装好依赖之后,重新打开vscode即可,飘红就消失了~

index.html

这是我们文件的入口 输入npm run dev(运行前端项目)显示的就是这一页。

json文件

包的管理文件、依赖声明文件,都是配置文件,别动他们,更别删除,删了就跑不起来了

vite.config.ts

配置文件,可以用于安装插件

二、源代码-src

我们以后工程的源代码都在src中。

1. main.js

import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')

内有如上代码,第一行调用Vue内的创建App组件,创建了一个后续vue文件运行的环境。
然后用App组件,是后续你写的所有的组件的根节点。
最后一句将app传入CreateApp创建的环境中。(将这个根目录放进环境)然后挂载到#app
index.html文件
以上图片是index.html文件,对应了挂载id。

2. components


这个文件夹用于存放各个组件,所以都是.vue文件

3.assets

用来储存静态资源。比如图片之类的。

三、Vue文件格式

请记住,Vue文件由以下三个部分构成
第一,包裹在中的结构代码,语言是html,用于布置结构。
第二,是包含在中的脚本代码,语言是Js或者Ts(vue推荐TS),用于交互
第三,是包裹在中的样式(参数),用于美化
一个样例展示如下,如果与之前没变化,control s保存一下。注意,一下代码是App.vue中的

<template><div class = "style_test"><h1>结构测试</h1>//结构展示</div>
</template><script>export default{//设置组件名字name : 'app'//组件名} 
</script><style>//结构美化.style_test{background-color: aquamarine;box-shadow: 0 0 10px;border-radius:10px;padding: 20px;}
</style>

四、除App外的组件编写及导入

好,我们接下来再了解一下除了根组件以外的组件应该如何编写。
我们先写一个演示Vue组件的文件。
在src下的components文件夹中新建一个Vue文件

<template><div class = "style_test"><h1>其他组件</h1><h2>姓名:{{name}}</h2><h2>年龄: {{age}}</h2><button @click="showTel">查看电话</button></div>
</template><script>export default{name : 'Test',//组件名data(){return {name : "TTTi9er",age : 18,tel : "114514"}},methods:{showTel(){alert(this.tel)}}} 
</script><style>.style_test{background-color: red;box-shadow: 0 0 10px;border-radius:10px;padding: 20px;}
</style>


然后我们修改app.vue,将这个组件生效,以下是app.vue代码

<template><div class = "style_test"><!-- <h1>结构测试</h1> --><Test/></div>
</template><script>import Test from './components/other_vues.vue'//引入刚刚写的组件export default{name : 'app',    //组件名components : {Test}  //注册组件,把组件放到根目录上} 
</script><style>.style_test{background-color: aquamarine;box-shadow: 0 0 10px;border-radius:10px;padding: 20px;}
</style>

代码解释已经写上面了,大家可以复制体验以下。主要我们需要引入组件(import),使用组件<Test/>,以及注册组件 components : {Test}
注:Vue3完全能向下兼容Vue2

五、Vue3的特色语法

Vue2是选项式API,像4中的例子有data选项,method(方法)选项等等,动图展示如下。
Vue2的API,各个组件的数据、方法、计算属性是分布在data method等等里的,想要修改起来要一个一个改,不利于维护。

Vue3的核心语法是组合式API。组合式API更有面向对象的感觉,是一个功能一个区块。

要使用这种语法,我们需要使用setup配置项,具体将在下篇详细说。


http://www.ppmy.cn/devtools/28920.html

相关文章

什么是死锁?代码演示,死锁如何排查和解决

死锁的概念 死锁是指在多线程或多进程中&#xff0c;两个或两个以上的线程或进程在执行过程中&#xff0c;因抢夺资源而造成的一种相互等待的现象。简单来说&#xff0c;就是两个或两个以上的线程或进程都在等待对方释放资源&#xff0c;从而导致所有线程或进程都无法继续执行的…

Java image-processing 包依赖错误

错误的信息为&#xff1a; [ERROR] Failed to execute goal on project image-processing: Could not resolve dependencies for project com.ossez:image-processing:jar:0.0.2-SNAPSHOT: Failed to collect dependencies at org.openimaj:core-image:jar:1.3.10 -> org.op…

织梦云端:网络信号原理的艺术解码

hello &#xff01;大家好呀&#xff01; 欢迎大家来到我的Linux高性能服务器编程系列之《织梦云端&#xff1a;网络信号原理的艺术解码》&#xff0c;在这篇文章中&#xff0c;你将会学习到网络信号原理以及应用&#xff0c;并且我会给出源码进行剖析&#xff0c;以及手绘UML图…

前端计算机网络之网络模型

什么是网络模型 对于前端开发者而言&#xff0c;理解网络模型的概念是非常重要的。网络模型是描述数据如何在网络中传输和处理的框架和规则&#xff0c;它有助于前端开发者更好地理解和优化应用程序与服务器之间的通信过程。 常用的两类模型 前端开发者需要了解的网络模型主…

python 关键字(import)

4、import 在Python编程中&#xff0c;import 是一个至关重要的关键字&#xff0c;它用于导入其他Python模块或库中的代码&#xff0c;以便在当前程序中使用。无论是Python新手还是经验丰富的开发者&#xff0c;都需要对import有深入的理解。 基础知识&#xff1a;import 的基…

串的介绍与类型定义

串的定义 相关术语 应用 串类型定义 顺序存储实现 为了方便操作&#xff0c;数组下标从1开始存储 链式存储实现

AI视频教程下载:构建一个ChatGPT股票配对交易机器人

ChatGPT及其后续版本GPT-4已经开始改变世界。人们对新机会感到兴奋&#xff0c;同时对我们社会可能受到的影响感到恐惧。这门课程结合了两个主题&#xff1a;AI和财务&#xff08;算法交易&#xff09;。 你将会学到的&#xff1a; 使用ChatGPT构建一个Python配对交易机器人 …

龙芯中标麒麟安装pyqt和运行项目主程序

1、龙芯中标麒麟系统自带python3.4&#xff0c;无需安装&#xff0c;可以兼容高版本python开发环境的项目代码&#xff1b; 2、利用pip install 安装项目代码所需要的python包&#xff08;qtpy,xlrd…&#xff09;&#xff1b; 3、如果pip更新之后用pip install&#xff0c;报…