【Vue】工程化开发&脚手架Vue CLI

📝个人主页:五敷有你****
🔥系列专栏:Vue**
⛺️稳重求进,晒太阳**

工程化开发&脚手架Vue CLI

基本介绍

Vue Cli是Vue官方提供的一个全局命令工具

可以帮助我们快速创建一个开发Vue项目的标准化基础架子【集成了webpack配置】

使用步骤:

  • 全局安装(一次)yarn global add @vue/cli
  • 查看Vue版本 vue --version
  • 创建项目架子 vue create project-name(项目名,非中文)
  • 启动项目 yarn serve 或者npm run serve(找package.json)

脚手架目录文件介绍&项目运行流程

组件化开发&跟组件

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

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

  • template:结构(有且只能有一个根元素)
  • script:js逻辑
  • style:样式(可支持less,需要装包)
    • 全局样式(默认组件中的样式会作用到全局)

    • 局部样式:可以给组件加上scoped属性,可以让样式只作用于当前组件

      • scoped原理:
        • 给当前组件模板的所有元素,都会被添加上一个自定义属性data-v-hash值
        • css选择器会添加【data-v-hash值】的属性选择器
        • 最终效果:必须是当前组件的元素,才会有这个自定义属性,才会被这个样式作用到
      <template>
      Vue logo <HelloWorld msg="Welcome to Your Vue.js App"/>
      </template> <script> import HelloWorld from './components/HelloWorld.vue'

      //导出的是当前组件的配置项
      export default {

      name: 'App',
      components: {
      HelloWorld
      }
      }
      </script>

      <style> #app { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } </style>

普通组件的注册使用

组件注册的两种方式:

局部注册:

1.创建.vue文件(三个组成部分)

<template>
    <div>
        <button>我是按钮</button>
    </div>
</template>

2.在使用的组件内导入并注册

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <HMhead></HMhead>
    <HMbody></HMbody>
    <HMfooter></HMfooter>
  </div>
</template>

<script>

import HMbodyVue from './components/HMbody.vue'
import HMfooterVue from './components/HMfooter.vue'
import HMheadVue from './components/HMhead.vue'

export default {
  name: 'App',
  components: {
   
    HMhead:HMheadVue,
    HMbody:HMbodyVue,
    HMfooter:HMfooterVue
  }
}
</script>

<style>
#app {
  height: 1200px;
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
  background: black;
}
</style>
全局注册:

1.创建.vue文件(三个组成部分)

<template>
    <div>
        <button>我是按钮</button>
    </div>
</template>

2.main.js中进行全局注册

  1. 导入import HMbutton from './components/HMbutton.vue'

  2. Vue.component("HMbutton",HMbutton)

    import Vue from 'vue'
    import App from './App.vue'
    import HMbutton from './components/HMbutton.vue'
    Vue.config.productionTip = false

    //全局注册组件
    Vue.component("HMbutton",HMbutton)

    new Vue({
    render: h => h(App),
    }).$mount('#app')

使用:

当成html标签使用:''

注意:
  • 组件名的规范:大驼峰命名法
  • 页面开发思路
  • 分析页面:按照模块拆分组件,搭架子(局部或全局注册)
  • 根据设计图,编写组件html结构,css样式
  • 拆分封装通用小组件(局部或全局注册)
  • 将来-->通过js动态渲染,实现功能
相关推荐
fishmemory7sec几秒前
Electron 主进程与渲染进程、预加载preload.js
前端·javascript·electron
fishmemory7sec3 分钟前
Electron 使⽤ electron-builder 打包应用
前端·javascript·electron
工业互联网专业33 分钟前
毕业设计选题:基于ssm+vue+uniapp的校园水电费管理小程序
vue.js·小程序·uni-app·毕业设计·ssm·源码·课程设计
豆豆1 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
计算机学姐1 小时前
基于SpringBoot+Vue的在线投票系统
java·vue.js·spring boot·后端·学习·intellij-idea·mybatis
twins35202 小时前
解决Vue应用中遇到路由刷新后出现 404 错误
前端·javascript·vue.js
qiyi.sky2 小时前
JavaWeb——Vue组件库Element(3/6):常见组件:Dialog对话框、Form表单(介绍、使用、实际效果)
前端·javascript·vue.js
煸橙干儿~~2 小时前
分析JS Crash(进程崩溃)
java·前端·javascript
安冬的码畜日常2 小时前
【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法
前端·javascript·信息可视化·数据可视化·d3.js·d3比例尺·分段比例尺
杨荧3 小时前
【JAVA开源】基于Vue和SpringBoot的洗衣店订单管理系统
java·开发语言·vue.js·spring boot·spring cloud·开源