【b站咸虾米】3 Vue CLI脚手架 2021最新Vue从基础到实例高级_vue2_vuecli脚手架博客案例

课程地址:【2021最新Vue从基础到实例高级_vue2_vuecli脚手架博客案例】 https://www.bilibili.com/video/BV1pz4y1S7bC/?share_source=copy_web&vd_source=b1cb921b73fe3808550eaf2224d1c155

目录

3 Vue CLI脚手架

3.1 Vue CLI介绍和安装

3.2 使用脚手架创建项目

3.1.1 指令创建Vue CLI项目

3.1.2 运行项目

3.3 项目结构及介绍

3.4 模块化介绍

3.5 import导入与export导出

3.6 export default默认导出

3.7 使用less编写css样式

3.8 引入组件和scoped局部样式

3.8.1 引入组件

3.8.2 scoped局部样式

3.9 使用脚手架搭建简易网页


3 Vue CLI脚手架

介绍 | Vue CLI

Vue Router(Vue核心插件)也会在这章里讲到。

Vue项目代码过于繁杂,脚手架(建房子时的脚手架)做好模型,将模型进行组合,最终成为一个页面。脚手架集成了很多系统开发中用到的东西,具体比较麻烦(有webpack打包工具)。

2.12的axios就是插件,需要npm指令去安装(或者使用src引入)。

Vue脚手架的作用是用来自动一键生成 Vue + webpack 的项目模板,包括依赖库,免去手动安装各种插件、寻找各种cdn并一个个引入的麻烦。它是一个专门为单页面应用快速搭建繁杂的脚手架,可以轻松创建应用程序,省去繁琐的配置工作

3.1 Vue CLI介绍和安装

需要安装node.js和Vue CLI。

node安装后会自动安装npm。

补充:

node是什么?

  • node,全称Node.js,是一个基于Chrome V8引擎的JavaScript运行环境;
  • 是一个让JavaScript运行在服务端的开放平台;
  • 让JavaScript与php、Python、Perl等服务端语言平起平坐的脚本语言。

npm是什么?

程序员写的一些代码想要开源共享,GitHub是首选。

但是自己的项目里包含了很多代码包,比如jQuery、Bootstrap、swiper等等,很明显这个工作量有点大,还很麻烦。

一位优秀的程序员Isaac Z,Schlueter 用JavaScript(运行在node.js上)Node Package Manager(简称npm,节点包管理器)

基本思路是搭建一个代码仓库服务器,邀请jQuery、Bootstrap、Vue等众多开发维护团队,将代码放在该npm服务器上。

node内置了npm,只要别人去使用,只需要在package.json里写上所依赖的jQuery、Vue等,再执行npm install,npm就会帮他们下载代码。

下载的代码出现在node_modules目录里,就可以随意使用了。

查看自己电脑上是否有Vue 脚手架。

Vue CLI可以通过npm包安装。

指令npm install -g@vue/cli(Vue CLI官网有这个指令)

(安装太慢可以使用cnpm,淘宝镜像)

(install可以简写为i)

3.2 使用脚手架创建项目

也可以使用图形化界面

终端窗口,win+R打开,也可以在vs code里打开。

3.1.1 指令创建Vue CLI项目

在vs code里创建第一个Vue CLI项目

会有一些选项

选项1:

选择手动选择配置。

选项2:

Babel:Babel编译,将ES6编译为ES5,进行兼容;

Typescript:给JavaScript添加特性的语言扩展;

Progressive Web App(PWA) Support:让网页渐进地变成App;

Router:Vue路由

Vuex:Vue路由

CSS Pre-processors:CSS预编译器

Linter/Formater:代码检测和格式化

Unit Testing:单元测试

E2E Testing:端到端测试

选择图中选中的4项。

选项3:

2.x

选项4:

路由方式,选择路由方式还是其他方式。选择n,不用路由方式。(后期可以重新设置)

选项5:

CSS编译模式。选择less,好用。

选项6:

选择代码规范

eslint with ... 进行报错提醒

eslint + A... 不严谨模式

eslint + S... 正常模式

eslint + P... 严格模式

选择正常模式。

选项7:

lint何时验证?保存的时候验证就行。

选项8:

安装的这些东西放在哪里。选择第一个,独立文件。

选项9:

问上述配置是否保存为一个文件。n就行。

3.1.2 运行项目

首先要进入当前文件夹 cd 项目名

然后启动项目

> demo1@0.1.0 serve H:\前端\004 Vue2【尚硅谷】\【b站咸虾米】Vue2\code\2 Vue CLI\demo1

项目启动后,点击local路径

点击上述链接

另外图形化界面创建项目的方式就不介绍了。

3.3 项目结构及介绍

温故而知新。

3.4 模块化介绍

一、模块化概念:将一个复杂的程序依据一定的规则(规范)封装成几个块(文件),并组合在一起;块的内部数据与实现是私有的,只是向外部暴露一些接口(方法)与外部其他模块通信

二、为什么使用模块化:在实际开发过程中,经常遇到变量、函数和对象等名字的重复,这样容易造成冲突,还会造成全局变量被污染;同时,程序复杂时需要写很多代码,还会引入很多类库,这样容易造成文件依赖混乱。

三、因此为解决上述问题,使用模块化的JS,所以模块化的作用就是

1. 避免全局变量被污染

2. 便于代码编写和维护

没有模块化之前,一个文件需要引入很多的JS文件,很麻烦,比如存在变量覆盖的问题(两个js文件有相同的变量,但是值不同,导致html打印最后一个引入的js文件)。

四、模块化的历程

之前的JavaScript没有模块化的概念,如果要进行模块化操作,需要引入第三方类库:AMD/CMD(用于浏览器环境),CommonJs(用于Node环境);

随着技术发展,前后端分离,前端业务越来越复杂。直到ES6带来了模块化,才让JavaScript第一次支持了module(用于浏览器环境)

五、模块化的使用

ES6模块化,分为导出export 与 导入import两个模块。

在ES6中每一个模块式一个文件,在文件中定义的变量、函数和对象在外部是无法获取的。

如果希望外部可以读取模块当中的内容,就必须使用export来对其进行暴露(输出)。

如果在其他文件中想要获取暴露的内容,以import的形式将这个变量进行引入。

六、按需导入和导出

注意:测试时需要在服务端,不然出现跨域问题。

3.5 import导入与export导出

up说的太细了,实际用的时候会下面这样写就行了。

export

import 

3.6 export default默认导出

export default默认暴露一个对象

export default {  }

导入默认暴露的对象时,可以给他起名

import aaa from '@/page/page/HelloWorld.js’

@是根目录src

3.7 使用less编写css样式

main.js导入了一个Vue,且没有路径。这是为什么?

这个表示去node_modules里去找依赖Vue。

代码第2、3行这种,引入组件的路径是相对路径的,才是进入相应的文件夹。比如第2行,就是选择了App.vue。

使用less编写css样式,就是说样式可以嵌套写,这里就不演示了。

&表示标签本身自己box。

<style lang="less">
  .box {
    width: 100px;
    &:hover {
      background-color: skyblue;
    }
  }

</style>

3.8 引入组件和scoped局部样式

(代码检查关不掉了,奇怪,项目终止然后重启就好了)

 

3.8.1 引入组件

在components文件夹下创建一个组件,组件名称首字母大写(建议)。

这里不大写是因为项目老报错,结果重启了就好了,但是组件名称没有改回去。

<template>
  <div class="box">
    <h1>web前端开发</h1>
    <p class="title">这是文字描述信息</p>
  </div>
</template>

<script>
export default {};
</script>

<style lang="less">
h1 {
  color: red;
  font-size: 50px;
}
p.title {
  color: green;
  font-size: 30px;
}
</style>

然后在App.vue里引入、注册和使用一下这个组件。

3.8.2 scoped局部样式

看,只给itemBox自己的h1标签设置了样式,但是App.vue的h1标签的样式被污染了。

如果App组件对p标签修改样式,那么itemBox组件的p标签的样式也会被污染。

结论:父子组件的样式会相互污染。

但是父组件改子组件样式是正常的,App父组件通常是设置全局样式的。

解决途径:给子组件添加scoped,即局部css。

结果

这样就可以了。

3.9 使用脚手架搭建简易网页

创建了一个网页,不练习了,去第4章练习去。

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 07:16:09       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 07:16:09       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 07:16:09       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 07:16:09       18 阅读

热门阅读

  1. ChatGPT为您的论文写作提供无限可能

    2024-03-22 07:16:09       19 阅读
  2. Play on Words(UVA 10129)

    2024-03-22 07:16:09       15 阅读
  3. 搭建自己的chatgpt-web(nextchat)

    2024-03-22 07:16:09       20 阅读
  4. 音视频实战---音频重采样

    2024-03-22 07:16:09       14 阅读
  5. Python:编程语言之魅力

    2024-03-22 07:16:09       16 阅读
  6. ARM实验,串口控制LED亮灭

    2024-03-22 07:16:09       17 阅读
  7. 面向C++程序员的Rust教程(一)

    2024-03-22 07:16:09       18 阅读
  8. LeetCode 746. 使用最小花费爬楼梯

    2024-03-22 07:16:09       20 阅读