Vue—Vue的项目结构,怎样用Vue3进行开发,如何起步Vue3

简介: Vue—Vue的项目结构,怎样用Vue3进行开发,如何起步Vue3

这篇将着重介绍Vue的项目结构以及如何使用VSCode对Vue来进行开发。

IDE的准备

下载VSCode

首先我们需要使用前端开发 IDE 利器:Visual Studio Code

进官网下载:https://code.visualstudio.com

并进行安装

插件安装

打开VSCode后,点击扩展按钮,搜索需要的插件名称,点击安装然后重启一下VSCode。

推荐安装的插件有:

◼ Chinese (Simplified) Language Pack(微软):VSCode 中文插件

◼ Vetur(Pine Wu):Vue开发插件,支持 .vue 文件语法高亮显示等

◼ Vue 3 Snippets(hollowtree):Vue 代码片段以及提示插件

◼ Axios Snippets(Yggdrasill-7C9):Axios 的代码提示

◼ Element UI Snippets(Snowffer Studio):Element UI 的代码提示

◼ ESLint(Dirk Baeumer):JS 代码检测工具

◼ Beautify(HookyQR):格式化JS,JSON,CSS、HTML等

◼ HTML Snippets(Mohamed Abusaid):Html代码片段以及提示

◼ HTML CSS Support(ecmel):智能提示当前项目所支持的样式

在这里插入图片描述

打开工作区文件夹

在这里插入图片描述

Vue3项目结构

结构分析

加载工作区后可以看到demo项目的项目结构,其中:

目录/文件 说明
node_modules npm 加载的项目依赖模块
public 存放静态资源(一般不会变动的),其中 index.html 是项目主页
src 这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件:assets: 存放静态资源如logo等,可能会变动的。components: 存放组件(一般是可复用的) router:路由管理,在index.js中配置路由 store:状态管理(一般不用)views:视图组件(不可复用的页面组件)index.css: 样式文件。
App.vue 根组件(主要是页面导航,路由加载)
main.js 项目的入口文件(加载插件、CSS、存储全局变量、实例化Vue等
package.json 项目配置文件
README.md 项目的说明文档,markdown 格式
dist 使用 npm run build 命令打包后会生成该目录。

Vue3起步(创建一个新页面)

创建页面组件

在 views 目录中右键新建 .vue 文件:如 Test.vue

在这里插入图片描述

在Test.vue中输入:

<template>
  <div id="test">
    <h1>test页面</h1>
  </div>
</template>

• 使用VSCode可使用alt+shift+f快捷键自动对齐代码

•.vue 组件的内容都放在 template 标签中

• 有且只能有一个 template 根标签

• template 根标签下只能有一个元素(如div)

配置路由

打开 router 目录中的 index.js,为刚刚创建的Test.vue添加新路由,即当用户访问/about时,服务器调用项目中/views/About.vue组件。

import { createRouter, createWebHashHistory } from "vue-router";
import Home from "../views/Home.vue";
const routes = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
  {
    path: "/about",
    name: "About",
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/About.vue"),
  },
  {
    path: "/test",
    name: "Test",
    component: () => import("../views/Test.vue")
    },    
];
const router = createRouter({
  history: createWebHashHistory(),
  routes,
});
export default router;

参数含义为:

path:请求路径

name:路由名称

component:要显示的页面组件

在根组件中添加导航

打开 App.vue 文件,App.vue可以看成是一个根页面导航,我们现在需要在页面上添加一个链接,使其导航访问/test页面。

App.vue:

<template>
  <div id="nav">
    <router-link to="/">Home</router-link> |
    <router-link to="/about">About</router-link>|
    <router-link to="/test">测试</router-link>
  </div>
  <router-view />
</template>
<style lang="less">
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
#nav {
  padding: 30px;
  a {
    font-weight: bold;
    color: #2c3e50;
    &.router-link-exact-active {
      color: #42b983;
    }
  }
}
</style>

用VSCode启动运行项目

点击Terminal——New Terminal 打开新的终端

在这里插入图片描述

输入命令行:

cd demo

npm run serve

在这里插入图片描述

成功运行!

在这里插入图片描述

至此我们成功创建了新页面,并为其配置了路由和导航链接。演示如下:

在这里插入图片描述

下一步我们将继续学习Vue的基本语法和常用组件。

可能遇见的问题:报错:[vue/no-multiple-template-root] The template root requires exactly one element

点击打开 ——文件——首选项——设置

在这里插入图片描述进入设置页搜索 eslint 把Vetur的验证模板,取消勾选Validate vue-html in using eslint-plugin-vue 在这里插入图片描述
目录
打赏
0
0
0
0
11
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
118 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
vue2和vue3的响应式原理有何不同?
大家好,我是V哥。本文详细对比了Vue 2与Vue 3的响应式原理:Vue 2基于`Object.defineProperty()`,适合小型项目但存在性能瓶颈;Vue 3采用`Proxy`,大幅优化初始化、更新性能及内存占用,更高效稳定。此外,我建议前端开发者关注鸿蒙趋势,2025年将是国产化替代关键期,推荐《鸿蒙 HarmonyOS 开发之路》卷1助你入行。老项目用Vue 2?不妨升级到Vue 3,提升用户体验!关注V哥爱编程,全栈开发轻松上手。
高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
mermaid是一款非常优秀的基于 JavaScript 的图表绘制工具,可渲染 Markdown 启发的文本定义以动态创建和修改图表。非常适合新手学习或者做一些弱交互且自定义要求不高的图表 除了流程图以外,mermaid还支持序列图、类图、状态图、实体关系图等图表可供探索。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解
onMounted作为vue3中最常用的钩子函数之一,能够灵活、随心应手的使用是每个Vue开发者的必修课,同时根据其不同写法的特性,来选择最合适最有利于维护的写法。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
本文介绍了使用 Vue Flow 绘制流程图的方法与技巧。Vue Flow 是一个灵活强大的工具,适合自定义复杂的流程图。文章从环境要求(Node.js v20+ 和 Vue 3.3+)、基础入门案例、自定义功能(节点与连线的定制、事件处理)到实际案例全面解析其用法。重点强调了 Vue Flow 的高度灵活性,虽然预定义内容较少,但提供了丰富的 API 支持深度定制。同时,文中还分享了关于句柄(handles)的使用方法,以及如何解决官网复杂案例无法运行的问题。最后通过对比 mermaid,总结 Vue Flow 更适合需要高度自定义和复杂需求的场景,并附带多个相关技术博客链接供进一步学习。
管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异
一篇文章同时搞定Vue2和Vue3的侦听器,是不是很棒?不要忘了Vue3中多了一个可选项watchEffect噢。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
属性描述符初探——Vue实现数据劫持的基础
属性描述符还有很多内容可以挖掘,比如defineProperty与Proxy的区别,比如vue2与vue3实现数据劫持的方式有什么不同,实现效果有哪些差异等,这篇博文只是入门,以后有时间再深挖。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
3月前
|
vue使用iconfont图标
vue使用iconfont图标
177 1
Vue Router 核心原理
Vue Router 是 Vue.js 的官方路由管理器,用于实现单页面应用(SPA)的路由功能。其核心原理包括路由配置、监听浏览器事件和组件渲染等。通过定义路径与组件的映射关系,Vue Router 将用户访问的路径与对应的组件关联,支持哈希和历史模式监听 URL 变化,确保页面导航时正确渲染组件。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等