五、工程化开发和脚手架Vue CLI

news2024/9/28 17:30:23

开发 Vue 的两种方式:
1.核心包传统开发模式:基于 html/css/js 文件,直接引入核心包,开发 Vue.
2.工程化开发模式:基于构建工具(例如:webpack)的环境中开发 Vue。

一、基本介绍:

Vue CLl 是 Vue 官方提供的一个可以帮助我们快速创建一个开发 Vue 项目的标准化基础架子。【集成了 webpack 配置),其实就是生成一个目录,内置了许多工具。

好处:

1.开箱即用,零配置
2.内置 babel等工具
3.标准化

重点!!!!使用步骤:

1.全局安装(一次):yarn globaladd @vue/cli 或 npmi @vue/cli -g

2.查看 Vue 版本:vue --version
3.创建项目架子:vue create project-name(项目名-不能用中文)

4.启动项目:yarn serve 或npm run serve(找package.json)

在命令终端直接根据步骤就能完成创建。

二、项目目录介绍和运行流程

public/index.html

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <!-- 兼容:给不支持js的浏览器一个提示 -->
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>

    <!-- Vue所管理的容器:将来创建结构动态渲染这个容器 -->
    <div id="app">
      <!-- 工程化开发模式中:这里不再直接编写模板语法,通过 App.vue 提供结构渲染 -->
    </div>

    <!-- built files will be auto injected -->
  </body>
</html>

src/main.js

// 文件核心作用:导入App.vue,基于App.vue创建结构渲染index.html
// 1. 导入 Vue 核心包
import Vue from 'vue'

// 2. 导入 App.vue 根组件
import App from './App.vue'

// 提示:当前处于什么环境 (生产环境 / 开发环境)
Vue.config.productionTip = false

// 3. Vue实例化,提供render方法 → 基于App.vue创建结构渲染index.html
new Vue({
  // el: '#app', 作用:和$mount('选择器')作用一致,用于指定Vue所管理容器
  // render: h => h(App),
  render: (createElement) => {
    // 基于App创建元素结构
    return createElement(App)
  }
}).$mount('#app')

注意代码块第三部分另一种写法也可以,表达的意思完全一样

src/App.vue

<template>
  <div class="App">
    <div class="box" @click="fn"></div>
  </div>
</template>

<script>
// 导出的是当前组件的配置项
// 里面可以提供 data(特殊) methods computed watch 生命周期八大钩子
export default {
  created () {
    console.log('我是created')
  },
  methods: {
    fn () {
      alert('你好')
    }
  }
}
</script>

<style lang="less">
/* 让style支持less
   1. 给style加上 lang="less"
   2. 安装依赖包 less less-loader
      yarn add less less-loader -D (开发依赖)
*/
.App {
  width: 400px;
  height: 400px;
  background-color: pink;
  .box {
    width: 100px;
    height: 100px;
    background-color: skyblue;
  }
}
</style>

三、组件化开发&根组件

① 组件化:一个页面可以拆分成一个个组件,每个组件有着自己独立的结构、样式、行为
好处:便于维护,利于复用 →提升开发效率,

App.vue文件(单文件组件)的三个组成部分

如果打开的vue代码没有高亮,可以选择下载插件:Vetur

三部分的组成:

  • template:结构(有且只能一个根元素)
  • script:js逻辑
  • style:样式(可支持less,需要装包)

让组件支持 less
(1)style标签,lang="less"开启less功能
(2)装包:yarn add less less-loader -D(如果没有安装yarn命令,可以使用npm add less less-loader -D)

总结:

(1)组件化:

页面可拆分成一个个组件,每个组件有着独立的结构、样式、行为、

① 好处:便于维护,利于复用 →提升开发效率

② 组件分类:普通组件、根组件


(2)根组件:


整个应用最上层的组件,包裹所有普通小组件。
一个根组件App.vue,包含的三个部分
① template 结构(只能有一个根节点) 需要装包 less 和 less-loader )

② style 样式(可以支持less,
③ script 行为

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

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

相关文章

ISO 26262中的失效率计算:SN 29500-7 Expected values for relays

目录 引言 1 基准条件下的失效率 2 失效率转换 2.1 失效率预测模型 2.2 负载应力系数 2.2.1 应力区域 2.2.2 负载应力系数选择 2.3 环境应力系数 2.4 温度应力系数 2.4.1 温度应力系数计算模型 2.3.2 温度应力系数计算 2.4 失效准则系数 3 任务剖面应力系数 引言 …

使用 nuxi build 命令构建你的 Nuxt 应用程序

title: 使用 nuxi build 命令构建你的 Nuxt 应用程序 date: 2024/8/30 updated: 2024/8/30 author: cmdragon excerpt: nuxi build 命令是构建 Nuxt 应用程序的核心工具,它将你的应用程序打包成适合生产环境的格式。通过理解和使用不同的选项,如 --prerender、–dotenv 和…

【微信小程序】分包--基础概念

基础概念 1. 什么是分包 分包指的是把一个完整的小程序项目&#xff0c;按照需求划分为不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进行加载。 2. 分包的好处 3. 分包前项目的构成 4. 分包后项目的构成 5. 分包的加载规则 6. 分包的体积限…

#单片机基础 笔记二

SPI中断 1.SPI总线协议 1.1协议介绍 SPI接口是Motorola &#xff08;motorola | Smartphones, Accessories & Smart Home Devices&#xff09;首先提出的全双工三线/四线同步串行外围接口采用主从模式&#xff08;Master Slave&#xff09;架构。 时钟由Master控制&#xf…

Fast-BEV: A Fast and Strong Bird’s-Eye ViewPerception Baseline

本文提出了一种简单但有效的框架&#xff0c;称为Fast-BEV&#xff0c;它能够在车载芯片上进行更快的BEV感知。 Fast-BEV框架包括五个部分: (1) 一个轻量级且易于部署的视图变换方法&#xff0c;能够快速将2D图像特征转化为3D体素空间&#xff1b; (2) 一个多尺度图像编码器…

DAY8:DNS查询过程 | CDN的概念和功能 | Cookie和Session是什么?有什么区别?

目录 DNS查询过程 CDN的概念和功能 Cookie和Session是什么&#xff1f;有什么区别&#xff1f; Cookie和Session的概念 Cookie和Session的区别 DNS查询过程 DNS用来将主机名和域名转换为IP地址&#xff0c;其查询过程一般通过以下步骤&#xff1a; 本地DNS缓存检查&…

岩石检测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

岩石检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

九方智投控股已完成九章证券领域大模型算法备案

九方智投控股已完成九章证券领域大模型算法备案 8月29日九方智投控股&#xff08;股票代码&#xff1a;09636.HK&#xff09;公布其截至2024年6月30日的上半年业绩报告&#xff0c;财报显示&#xff0c;集团总收益达到了约人民币898.1百万元&#xff0c;较去年同期的约人民币86…

[000-01-008].第01节:Consul环境搭建

1.Windows环境搭建环境&#xff1a; 1.1.单机版 a.下载 1.官网说明&#xff1a; b.安装&#xff1a; 1.下载完成后只有一个consul.exe文件&#xff0c;硬盘路径下双击运行&#xff0c;查看版本号信息 c.服务启动&#xff1a; 1.使用开发模式启动&#xff1a;consul ag…

1899. 最满意的方案

代码 #include<bits/stdc.h> using namespace std; int a[100100]; int main() {int x,m,n,s0,i,l,r,mid;cin>>m>>n;for(i1;i<m;i)cin>>a[i];sort(a1,am1);for(i1;i<n;i){cin>>x;if(x<a[1]) ssa[1]-x;else if(x>a[m]) ssx-a[m];els…

Makefile 基础与常用语法详解

目录 一、引言 二、Makefile 基础概念 1.目标、依赖和命令 2.文件名和搜索路径 3.执行顺序和依赖关系 三、Makefile 常用语法 1.变量和宏定义 2.自动变量 3.模式规则 4.条件判断 5.循环 6.伪目标 四、Makefile 实际应用示例 五、总结 一、引言 在软件开发过程中&a…

断链保护器在矿山机械中的安全守护与效能提升应用探析

在严峻复杂的矿山作业环境下&#xff0c;断链保护器作为一项不可或缺的安全技术装备&#xff0c;扮演着守护生命财产安全、维护生产秩序的关键角色&#xff0c;特别是在确保矿山机械稳定高效运行方面&#xff0c;其价值和意义显得尤为重要。 一、强化安全基石&#xff0c;守护矿…

Project 2021图文安装教程及下载

Microsoft Project是一个国际上享有盛誉的通用的项目管理工具软件&#xff0c;凝集了许多成熟的项目管理现代理论和方法&#xff0c;可以帮助项目管理者实现时间、资源、成本的计划、控制。Microsoft Project 不仅可以快速、准确地创建项目计划&#xff0c;而且可以帮助项目经理…

2024年,还有不用这个技术的网站?

大家好&#xff0c;我是程序员鱼皮。 不知道大家有没有听说过 “服务端渲染” 这样一种技术&#xff1f;如今这个技术越来越流行&#xff0c;尤其对于以内容为核心的网站&#xff0c;使用服务端渲染可以大幅提升网站被搜索到的概率&#xff0c;所以很多企业级网站都用到了这个…

无人机之遥控器防水性能篇

无人机遥控器的防水性能是评估其耐用性和适应不同环境能力的重要指标。随着无人机技术的不断发展&#xff0c;越来越多的遥控器在设计时融入了防水元素&#xff0c;以满足用户在不同天气条件下的使用需求。以下是对无人机遥控器防水性能的详细探讨&#xff1a; 一、防水等级与…

安装部署harbor及docker-compose的 实例

部署harbor python --version yum -y install python2-pip # 查看版本信息 pip list # 更新pip pip install --upgrade pip pip install --upgrade pip20.3 -i https://mirrors.aliyun.com/pypi/simple # 安装docker-compose pip install docker-compose --…

Java并发编程(21)—— CurrentHashMap源码分析

java 并发包中提供的 CurrentHashMap是一个线程安全且高效的HashMap ,也是面试的高频考点。 下面将围绕主题:ConcurrentHashMap 如何实现高效地线程安全?以及在Java8中它从设计实现上有哪些演进? 这篇文章一开始我以为会比较简单,但是在深入源码分析时,遇到了很大的阻碍,…

一文彻底搞懂大模型 - 语言模型的发展历程

语言模型的发展历程 语言模型&#xff08;LM&#xff0c;Language Model&#xff09;的发展历程可以清晰地划分为三个主要阶段&#xff1a;统计语言模型、神经网络语言模型以及基于Transformer的大语言模型。每个阶段的模型都在前一个阶段的基础上进行了改进和优化&#xff0c…

[000-01-008].第02节:Consul在实际中应用

我的后端学习大纲 SpringCloud学习大纲 1.使用Consul后&#xff0c;服务架构设计&#xff1a; 2.实现把支付服务provider8001注册到consul中 2.1.改POM&#xff1a; <!--SpringCloud consul discovery --> <dependency><groupId>org.springframework.cloud&…