【前端】Vue2 脚手架模块化开发 -快速入门

news2024/9/25 15:21:33

🎄欢迎来到@边境矢梦°的csdn博文🎄

 🎄本文主要梳理Vue2 脚手架模块化开发 🎄
🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈
🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆

Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大)🌑🌒🌓🌔🌕 

目录

🌸打造高效开发利器!教你搭建Vue2脚手架CLI🚀

❤️段落1:安装CLI并创建Vue项目

🌈段落2:开发入门,快速上手Vue

🌰运行项目

📌Vue 项目结构分析

✨段落3:Vue插件加持,开创无限可能


🌸打造高效开发利器!教你搭建Vue2脚手架CLI🚀

🌟引言段:

目前开发模式的问题
1. 开发效率低
2. 不够规范
3. 维护和升级 , 可读性比较差

为了解决这些问题, 优秀的程序员们打造出了Vue2脚手架CLI,它们的创建可以让你的开发工作事半功倍,让我们一起来探索这个令人兴奋的世界吧!💪


❤️段落1:安装CLI并创建Vue项目

1. 搭建 Vue 脚手架工程,需要使用到 NPM(node package manager), npm 是随 nodejs 安装 的一款包管理工具 , 类似 Maven 。所以我们需要先安装 Nodejs
2. 为了 更好兼容 ,这里我们安装 node.js10.16.3 , 要求同学们也使用这个版本 ( 因为这里 只是演示 Vue 脚手架工程 ), 后面我们还会讲解 Vue3 的脚手架工程搭建 , 再对 Node 升级 .
3. 如果以前安装过 node.js , 为防止版本冲突,先卸载之 , 如果你没安装 nodejs, 就不用管

进行操作 : 

4. 下载 node.js10.16.3 地址 : https://nodejs.org/en/blog/release/v10.16.3 /

5. 安装 node.js10.16.3 , 直接下一步即可 , 建议 安装到 d:\program\nodejs10.16
6. 验证是否安装成功 , 如果看到不到 , 退出 cmd, 重新开一个窗口测试即可
7. 先删除以前的 cli 版本 < 不论是之前未下载或没有下载 >
npm uninstall vue-cli -g

8. 安装淘宝镜像-cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

-说明:

npm cnpm 的区别
1) 两者之间只是 node 中包管理器的不同 , 都可以使用
2) npm node 官方的包管理器。 cnpm 是个中国版的 npm ,是淘宝定制的 cnpm (gzip 压缩支持 ) 命令行工具代替默认的 npm
3) 如果因为网络原因无法使用 npm 下载,那 cnpm 这个就派上用场了
4) 小结 : npm cnpm 只是下载的地址不同, npm 是从国外下载东西, cnpm 是从国内
下载东西
8. 安装 webpack webpack-cli , 指令:
npm install webpack@4.41.2 webpack-cli -D

(说明:这里指定了 webpack 的版本,请保持一致, webpack 是一个打包工具)

9. 安装
cnpm install -g @vue/cli@4.0.3

如果出错了用

npm install -g @vue/cli@4.0.3

后者慢点而已

10. 确认 Vue-Cli 版本
创建目录 vue_project, cmd 到该目录

 现在,我们可以使用 webpack 创建 vue 脚手架项目。运行以下命令:

vue init webpack vue_project_quickstart

这将创建一个名为"vue_project_quickstart"的新目录,并在其中初始化Vue项目。等待一段时间后,我们将拥有一个干净、可配置和完全工作的Vue项目!下面是CLI创建项目的过程示意图,让我们一起期待最后的完成吧!😊

D:\vue_project>cd vue_project_quickstart 
D:\vue_project\vue_project_quickstart>npm run dev

然后是 : 

再访问 localhost:8080/

  


🌈段落2:开发入门,快速上手Vue


现在,我们的Vue项目已经顺利创建,让我们进入开发的核心部分吧!Vue是一款灵活而强大的JavaScript框架,它能够帮助我们构建交互性强、响应式的Web应用程序。下面是一些让你快速上手Vue的关键特点:

1️⃣ 响应式数据:Vue的核心是响应式数据系统,它能够自动追踪数据的变化,并将这些变化反映到页面上。这使得我们可以轻松管理和更新应用程序的状态。

2️⃣ 组件化开发:Vue的组件系统使得我们能够将页面拆分为独立的、可复用的组件。这样做不仅能够提高代码的可维护性,还能加速开发速度。

3️⃣ 单文件组件:Vue支持使用单文件组件的方式组织代码,将HTML、CSS和JavaScript代码放在同一个文件中。这种方式让我们可以更清晰地理解和编辑组件的代码。

下面是一个简单的Vue组件示例,让我们一起迈出开发的第一步吧!🚀

🌰运行项目

1. Vue 脚手架项目,直接拖到 IDEA ,就可以打开
2. 配置 NPM

得到 :

📌Vue 项目结构分析

 main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

 import Vue from 'vue'里的vue

来源


 

每个路由对象都包含 pathname 和 component 属性。

  • path 是路由的路径,表示在浏览器地址栏中输入的路径。
  • name 是路由的名称,可以在其他地方使用。
  • component 指定一个组件,用于在路由路径匹配时渲染显示。
export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path : '/Hello',
      name: 'Hello',
      component: Hello
    }
  ]
})

 

<router-view/> 是 Vue Router 中的一个特殊组件,用于渲染匹配到的路由组件。

在 Vue Router 中,我们可以定义多个路由,每个路由可以匹配到一个组件。<router-view/> 标签的作用就是在应用的模板中标记出路由组件展示的位置。

当路由切换时,<router-view/> 会根据当前的路由路径动态加载对应的路由组件,并在指定的位置进行渲染。

下面是一个示例,展示了如何使用 <router-view/>

<template>
  <div>
    <h1>My App</h1>
    <router-view/>
  </div>
</template>

在上述示例中,<router-view/> 被放置在了 <div> 标签中,用于展示匹配到的路由组件。当切换路由时,对应的路由组件会被渲染在 <router-view/> 标签的位置。

请注意,在使用 <router-view/> 前,你需要确保已经正确配置了 Vue Router,并且在组件中导入了 Vue Router,并将其配置为 Vue 实例的插件。


<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h2>Essential Links</h2>
    <ul>
      <li>
        <a
          href="https://vuejs.org"
          target="_blank"
        >
          Core Docs
        </a>
      </li>
      <li>
        <a
          href="https://forum.vuejs.org"
          target="_blank"
        >
          Forum
        </a>
      </li>
      <li>
        <a
          href="https://chat.vuejs.org"
          target="_blank"
        >
          Community Chat
        </a>
      </li>
      <li>
        <a
          href="https://twitter.com/vuejs"
          target="_blank"
        >
          Twitter
        </a>
      </li>
      <br>
      <li>
        <a
          href="http://vuejs-templates.github.io/webpack/"
          target="_blank"
        >
          Docs for This Template
        </a>
      </li>
    </ul>
    <h2>Ecosystem</h2>
    <ul>
      <li>
        <a
          href="http://router.vuejs.org/"
          target="_blank"
        >
          vue-router
        </a>
      </li>
      <li>
        <a
          href="http://vuex.vuejs.org/"
          target="_blank"
        >
          vuex
        </a>
      </li>
      <li>
        <a
          href="http://vue-loader.vuejs.org/"
          target="_blank"
        >
          vue-loader
        </a>
      </li>
      <li>
        <a
          href="https://github.com/vuejs/awesome-vue"
          target="_blank"
        >
          awesome-vue
        </a>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
  font-weight: normal;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>

这段代码是一个 Vue 组件的模板部分,使用了 <template> 标签来定义组件的结构和内容。具体解释如下:

  • <template> 标签用于定义 Vue 组件的模板内容。
  • 在这个例子中,模板中包含了一个顶级的 <div> 元素,其类属性为 "hello"
  • <h1> 元素使用了 Vue 的插值语法 {{ msg }},表示将 msg 属性的值动态地渲染到页面上。
  • <h2> 元素用于展示标题文本。
  • <ul> 元素表示一个无序列表,其中包含了多个列表项 <li> 。
  • 每个列表项都是一个超链接 <a>,通过 href 属性指定链接地址,通过 target="_blank" 属性设置在新标签页中打开链接。
  • 在模板的中部使用了一个 <br> 元素插入一个换行。
  • 该模板还包含了另外一个 <h2> 元素和一个包含多个列表项的 <ul> 元素,用于展示更多的链接。

在 <script> 标签中,通过 export default 导出一个 Vue 组件对象,该对象具有以下属性和方法:

  • name 属性指定了该组件的名称为 'HelloWorld'
  • data 方法返回一个对象,其中的 msg 属性初始值为 'Welcome to Your Vue.js App'。这个属性可以在模板中使用插值语法动态渲染到页面上。

这样就完成了一个带有模板和数据的 Vue 组件的定义。


✨段落3:Vue插件加持,开创无限可能

除了强大的核心功能外,Vue还有许多优秀的插件和扩展库,能够为我们的开发提供更多的便利和可能性。以下是我推荐给大家的几个Vue插件:

1️⃣ Vue Router:Vue Router是Vue官方提供的路由管理插件。它能够帮助我们方便地实现前端路由,构建单页应用或者多页应用,让我们的应用具备良好的导航功能。

2️⃣ Vuex:Vuex是Vue官方提供的状态管理插件。它使得组件之间的状态共享和管理变得轻松而高效,让我们能够更好地组织和维护我们的应用程序状态。

3️⃣ Element UI:Element UI是一套基于Vue开发的组件库,提供了众多美观、易用的UI组件,使得我们的应用程序拥有出色的用户体验。

这些插件和扩展库的加入,让我们的开发变得更加简单、高效,让我们的想象力展开无限的翅膀!💡

🌟结语段:
搭建Vue2脚手架CLI不仅是一门工具的使用,更是一种高效、便捷开发的方式的选择。借助Vue的强大功能、丰富的生态系统以及众多优秀的插件和扩展库,我们能够以更高的效率开发出精美、功能丰富的Web应用程序。希望我的这篇帖子能够给你带来启发和帮助,让我们一起打造令人瞩目的开发利器吧!✨

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/957934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端项目工程化之代码规范

目录 一、前言二、ESLint三、Prettier四、项目实战4.1 环境依赖版本4.2 使用pnpm4.3 git提交规范 五、资源 收集六、源码地址 一、前言 前端项目工程化之代码规范是指在前端项目中定义一套代码规范&#xff0c;以确保项目中的代码风格和格式一致&#xff0c;提高代码的可读性和…

GaussDB数据库SQL系列-行列转换

一、前言 二、简述 1、行转列概念 2、列转行概念 三、GaussDB数据库的行列转行实验示例 1、行转列示例 1&#xff09;创建实验表&#xff08;行存表&#xff09; 2&#xff09;静态行转列 3&#xff09;行转列&#xff08;结果值&#xff1a;拼接式&#xff09; 4&…

文心一言 VS CHATGPT

由于近几天来&#xff0c;我的手机短信不断收到百度公司对于“文心一言”大模型的体验邀请&#xff08;真是不胜其烦&#xff09;&#xff01;&#xff01;所以我就抱着试试看的态度点开了文心一言的链接&#xff1a;文心一言 目前看来&#xff0c;有以下两点与chatgpt是有比较…

Plex私人影音云盘搭建教程:本地电脑使用内网穿透实现远程访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频&#xff0c;已经算是生活中稀松平常的场景了&#xff0c;特别是各…

《中国人工智能人才学习白皮书》发布!

Datawhale发布 2023 中国人工智能人才学习白皮书 I 导读 日前&#xff0c;由 Datawhale 联合上海白玉兰开源开放研究院、和鲸科技、江南大学教育信息化研究中心编写的《2023中国人工智能人才学习白皮书》&#xff08;下简称“白皮书”&#xff09;于8月24日正式发布。 学界大咖…

谈谈对OceanBase单机分布式一体化的思考

关于作者&#xff1a; 杨传辉&#xff0c;OceanBase CTO。2010 年作为创始成员之一加入 OceanBase 团队&#xff0c;主导了 OceanBase 历次架构设计和技术研发&#xff0c;从无到有实现 OceanBase 在蚂蚁集团全面落地。同时&#xff0c;他也主导了两次 OceanBase TPC-C 测试并打…

北约报告:2023-2043,下一代量子技术的发展与挑战

“当今的新技术正在以令人眼花缭乱的速度发展&#xff0c;我们所有人都可以在负责任且合乎道德的方式开发和部署新技术方面发挥作用。” ——这是副秘书长Mircea Geoană在2023年3月22日、在布鲁塞尔发布《北约科学技术组织2023-2043年趋势报告》时传达的信息。 Geoană先生强调…

【Python】使用python处理excel表格数据

Python有许多库可以用于处理Excel表格数据&#xff0c;其中最常用的是pandas和openpyxl。 pandas库 pandas库是一个非常强大的用于数据分析和操作的Python库。它支持处理各种数据类型&#xff0c;包括Excel表格数据。 首先需要安装pandas库&#xff0c;可以通过以下命令在终…

项目介绍:《Online ChatRoom》网页聊天室 — Spring Boot、MyBatis、MySQL和WebSocket的奇妙融合

在当今数字化社会&#xff0c;即时通讯已成为人们生活中不可或缺的一部分。为了满足这一需求&#xff0c;我开发了一个名为"WeTalk"的聊天室项目&#xff0c;该项目基于Spring Boot、MyBatis、MySQL和WebSocket技术&#xff0c;为用户提供了一个实时交流的平台。在本…

Noah-MP模型+Python

目的使参会学员熟悉陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用&#xff1b;深入理解Noah-MP 5.0模型的原理&#xff0c;掌握Noah-MP模型&#xff08;2023年最新发布的5.0版本&#xff09;所需的系统环境与编译环境的搭建方法及模型实践运行&#xff0c;熟…

Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

最近在用django框架开发后端时&#xff0c;在运行 $python manage.py makemigrations 命令时&#xff0c;报了以上错误&#xff0c;错误显示连接mysql数据库失败&#xff0c;查看了mysql数据库初始化配置文件my.cnf&#xff0c;我的mysql.sock文件存放路径配置在了/usr/local…

【方案】河道漂浮物检测:基于视频智能分析/AI算法智能分析技术在河道整治场景的应用

随着社会的发展和人们生活水平的进步&#xff0c;水污染问题也越来越严重&#xff0c;水资源监管和治理成为城市发展的一大困扰&#xff0c;水面上的漂浮垃圾不仅会影响河道生态安全并阻碍船舶航行&#xff0c;还会影响人们的身体健康。 TSINGSEEE青犀AI智能分析平台在环保场景…

MySql时间

一、查询 查询mysql当前时间 SELECT now();查询mysql时区 show variables like%time_zone;二、修改时区 set global time_zone 8:00; &#xff08;修改mysql全局时区为北京时间&#xff0c;也就是我们所在的东8区&#xff0c;需要root权限&#xff09; set time_zone 8:0…

cad怎么保存成jpg图片?一分钟教会你转换

将CAD文件转换成JPG图片可以帮助我们将文件在更广泛的设备和应用程序中使用&#xff0c;因为JPG格式是一种广泛支持的图像格式。这意味着&#xff0c;无论您使用的是电脑、手机还是平板电脑&#xff0c;都可以轻松地查看和编辑这些图像。另外&#xff0c;JPG格式可以通过压缩图…

C++:重载运算符

1.重载不能改变运算符运算的对象个数 2.重载不能改变运算符的优先级别 3.重载不能改变运算符的结合性 4.重载运算符必须和用户定义的自定义类型的对象一起使用&#xff0c;其参数至少应该有一个是类对象&#xff0c;或类对象的引用 5.重载运算符的功能要类似于该运算符作用…

长胜证券:个税+房贷新政出台 AI+应用落地持续推进

昨日&#xff0c;两市股指盘中弱势震荡下探。到收盘&#xff0c;沪指跌0.55%报3119.88点&#xff0c;深成指跌0.61%报10418.21点&#xff0c;创业板指跌0.69%报2102.57点&#xff1b;两市算计成交8282亿元&#xff0c;北向资金净卖出约43亿元。行业方面&#xff0c;地产、券商板…

干货!耽误你1分钟,教你怎么查自己的流量卡是什么卡?

很多朋友都想购买一张正规的号卡&#xff0c;但是在网上一搜流量卡&#xff0c;五花八门&#xff0c;各式各样&#xff0c;那么&#xff0c;我们该如何辨别流量卡呢。 ​ 从种类上来看&#xff0c;网上的流量卡一共分为两种&#xff1a;号卡和物联卡 物联卡不用多说&#xff0…

数据库介绍

一.什么是数据库&#xff1f; 通俗的来讲数据库就是用来存放数据的地方&#xff0c;可以理解为和冰箱一样 官方&#xff1a; 数据库&#xff08;Database&#xff09;是按照数据结构来组织、存储和管理数据的仓库。 每个数据库都有一个或多个不同的 API 用于创建&#xff0c;…

华为数通方向HCIP-DataCom H12-821题库(单选题:201-220)

第201题 BGP 协议用​​ beer default-route-advertise​​ 命令来给邻居发布缺省路由,那么以下关于本地 BGP 路由表变化的描述,正确的是哪一项? A、在本地 BGP 路由表中生成一条活跃的缺省路由并下发给路由表 B、在本地 BGP 路由表中生成一条不活跃的缺省路由,但不下发给…

文心一言放开,百度搜索AI最强评测

今天凌晨&#xff0c;百度突然官宣&#xff0c;文心一言全面开放&#xff0c;人人都能上手用了&#xff01; 现在&#xff0c;只需登陆「文心一言官网」即可体验。 真正重磅的是&#xff0c;一批全新重构的百度AI原生应用&#xff0c;包括百度搜索、「文心一言APP」、输入法、百…