前端工程化(黑马学习笔记)

前端工程化介绍

我们目前的前端开发中,当我们需要使用一些资源时,例如:vue.js,和axios.js文件,都是直接再工程中导入的,如下图所示:

但是上述开发模式存在如下问题:

    ● 每次开发都是从零开始,比较麻烦

    ● 多个页面中的组件共同性不好

    ● js、图片等资源没有规范化的存储目录,没有统一的标准,不方便维护

所以现在企业开发中更加讲究前端工程化方式的开发,主要包括如下4个特点

    ● 模块化:将js和css等,做成一个个可复用的模块

    ● 组件化:我们将UI组件,css样式,js行为封装成一个个的组件,便于管理

    ● 规范化:我们提供一套标准的规范的目录接口和编码规范,所有开发人员遵循这套规范

    ● 自动化:项目的构建,测试,部署全部都是自动完成

所以对于前端工程化,说白了,就是在企业级的前端项目开发中,把前端开发所需要的工具、技术、流程、经验进行规范化和标准化。从而提升开发效率,降低开发难度等等。接下来我们就需要学习vue的官方提供的脚手架帮我们完成前端的工程化。

前端工程化入门

环境准备

我们的前端工程化是通过vue官方提供的脚手架Vue-cli来完成的,用于快速的生成一个Vue的项目模版。Vue-cli主要提供了如下功能:

    ● 统一的目录结构

    ● 本地调试

    ● 热部署

    ● 单元测试

    ● 集成打包上线

我们需要运行Vue-cli,需要依赖NodeJS,NodeJS是前端工程化依赖的环境。所以我们需要先安装NodeJS,然后才能安装Vue-cli

    ● NodeJS安装和Vue-cli安装

Vue项目简介

环境准备好了,接下来我们需要通过Vue-cli创建一个vue项目,然后再学习一些vue项目的目录结构。Vue-cli提供了如下2种方式创建vue项目:

    ● 命令行:直接通过命令行方式创建vue项目

vue create vue-project01

    ● 图形化界面:通过命令先进入到图形化界面,然后再进行vue工程的创建

vue ui

图形化界面如下:

创建vue项目

此处我们通过第二种图形化界面方式给大家演示。

首先,我们再桌面创建vue文件夹,然后双击进入文件夹,来到地址目录,输入cmd,然后进入到vue文件夹的cmd窗口界面,如下图所示:

然后进入如下界面:

然后再当前目录下,直接输入命令vue ui进入到vue的图形化界面,如下图所示:

然后我门选择创建按钮,在vue文件夹下创建项目,如下图所示:

然后来到如下界面,进行vue项目的创建

然后预设模板选择手动,如下图所示:

然后再功能页面开启路由功能,如下图所示:

然后再配置页面选择语言版本和语法检查规范,如下图所示:

然后创建项目,进入如下界面:

最后我们只需要等待片刻,即可进入到创建创建成功的界面,如下图所示:

到此,vue项目创建结束

vue项目目录结构介绍

我们通过VS Code打开之前创建的vue文件夹,打开之后,呈现如下图所示页面:

vue项目的标准目录结构以及目录对应的解释如下图所示:

其实我们平时开发代码就是在src目录

运行vue项目

那么vue项目开发好了,我们应该怎么运行vue项目呢?主要提供了2种方式

    ● 第一种方式:通过VS Code提供的图形化界面,如下图所示:(注意:NPM脚本窗口默认不显示,可以参考本节的最后调试出来)

点击之后,我们等待片刻,即可运行,在终端界面中,我们发现项目是运行在本地服务的8080端口,我们直接通过浏览器打开地址

最终浏览器打开后,呈现如下界面,表示项目运行成功

其实此时访问的是src/APP.vue这个根组件,此时我们打开这个组件,修改代码:添加内容Vue

只要我们保存更新的代码,我们直接打开浏览器,不需要做任何刷新,发现页面呈现内容发生了变化,如下图所示:

这就是我们vue项目的热更新功能

对于8080端口,经常被占用,所以我们可以去修改默认的8080端口。我们修改vue.config.js文件的内容,添加如下代码:

sevServer:{port:7000
}

如下图所示,然后我们关闭服务器,并且重新启动,

重新启动如下图所示:

端口更改成功,可以通过浏览器访问7000端口来访问我们之前的项目

    ● 第二种方式:命令行方式

直接基于cmd命令窗口,在vue目录下,执行输入命令npm run server即可,如下图所示:

补充:NPM脚本窗口调试出来

第一步:通过设置/用户设置/扩展/NPM更改NPM默认配置,如下图所示

然后重启VS Code,并且双击打开package.json文件,然后点击资源管理器处的3个小点,勾选npm脚本选项,如图所示

然后就能都显示NPM脚本小窗口了。

Vue项目开发流程

那么我们访问的首页是index.html,但是我们找到public/index.html文件,打开之后发现,里面没有什么代码,但是能够呈现内容丰富的首页:如下图所示:

我们自己观察发现,index.html的代码很简洁,但是浏览器所呈现的index.html内容却很丰富,代码和内容不匹配,所以vue是如何做到的呢?接下来我们学习一下vue项目的开发流程。

对于vue项目,index.html文件默认是引入了入口函数main.js文件,我们找到src/main.js文件,其代码如下:

import Vue from 'Vue'
import App from './App.vue'
import router from './router'Vue.config.productionTip = falsenew Vue({router,render: h => h(App)
}).$mount('#app')

上述代码中,包括如下几个关键点:

    ● import:导入指定文件,并且重新起名。例如上述代码import App from './App.vue'导入当前目录下得App.vue并且起名为App

    ● new Vue():创建vue对象

    ● $mount('#app');将vue对象创建的dom对象挂载到id=app的这个标签区域中,作用和之前学习的vue对象的le属性一致。

    ● router:路由

    ● render:主要使用视图的渲染的。

来到public/index.html中,我们删除div的id=app属性,打开浏览器,发现之前访问的首页一片空白,如下图所示,这样就证明了,我们main.js中通过代码挂载到index.html的id=app的标签区域的。

此时我们知道了vue创建的dom对象挂载到id=app的标签区域,但是我们还是没有解决最开始的问题:首页内容如何呈现的?这就涉及到render中的App了,如下图所示:

那么这个App对象怎么回事呢,我们打开App.vue,注意的是.vue结尾的都是vue组件。而vue的组件文件包含3个部分:

    ● template:模版部分,主要是HTML代码,用来展示页面主体结构的

    ● script:js代码部分,主要是通过js代码来控制模版的数据来源和行为的

    ● style:css样式部分,主要通过css样式控制模版的页面效果得

如下图所示就是一个vue组件的小案例:

此时我们可以打开App.vue,观察App.vue的代码,其中可以发现,App.vue组件的template部分内容,和我们浏览器访问的首页内容是一致的,如下图所示:

接下来我们可以简化模版部分内容,添加script部分的数据模型,删除css样式,完整代码如下:

<template><div id="app">{{message}}</div>
</template><script>
export default {data(){return {"message":"hello world"}}
}
</script>
<style></style>

保存直接,回到浏览器,我们发现首页展示效果发生了变化,如下图所示:

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序项目打包发布方法,采用InstallShield软件

重点&#xff1a; 1.程序项目做出来了&#xff0c;需要打包发布给用户。如何打包是关键。 2.采用InstallShield软件进行发布。 步骤一&#xff1a;创建一个依赖三方库配置环境的bat文件的项目。 &#xff08;主要测试三方库打包 和如果有bat文件&#xff0c;需要先创建环境&…

等概率事件算法

1等概率的生成(0-8)范围内的正整数 // Math.random 数据范围[0,1) 且 是 等概率的产生随机数 // 应用&#xff1a; // 1.生成等概率的整数&#xff08;等概率的生成(0-8)范围内的正整数 int value (int) (Math.random() * 9); System.out.println("value "…

Three 基础环境 实例(总结一)

Three 基础环境 THREE三要素 &#xff08;scene场景、camera摄像机、renderer渲染器&#xff09; 1、首先我们需要引入three.js包&#xff0c;引入 three.js 对象&#xff08;命名导出->默认导入&#xff09; import * as THREE from three; 2、创建scene场景 const s…

(C语言)函数详解上

&#xff08;C语言&#xff09;函数详解上 目录&#xff1a; 1. 函数的概念 2. 库函数 2.1 标准库和头文件 2.2 库函数的使用方法 2.2.1 sqrt 功能 2.2.2 头文件包含 2.2.3 实践 2.2.4 库函数文档的一般格式 3. 自定义函数 3.1 函数的语法形式 3.2 函数的举例 4. 形参和实参 4.…

手势识别应用介绍

目录 一、功能介绍 二、安装部署说明 2.1 文件目录说明 2.2 手势识别部分 一、功能介绍 这是一个通过摄像头捕获手势&#xff0c;根据不同的手势来做出不同操作的计算机程序。目前可以识别9种手势&#xff0c;可以根据识别到的手势&#xff0c;进行打开应用、增大音量、减小音量…

uniapp+vue基于Android的图书馆借阅系统qb4y3-nodejs-php-pyton

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 框架支持:springboot/django/php/Ssm/flask/express均支持 前端开发:vue 语言&#xff1a;pythonjavanode.jsphp均支持 运行软件:idea/eclip…

Salesforce CPQ - 02 - Quote Price

最近又有客户来咨询学习Salesforce CPQ&#xff0c;所以本人总结了下近几年CPQ培训的一些实际案例拿出来分享给大家&#xff1b; 再次介绍下本人是一位Salesforce十多年的从业者。 先来介绍下Salesforce的价格体系&#xff0c;再介绍下各个Product Price是如何配置及使用的&a…

四、西瓜书——支持向量机

第六章 支持向量机 1.间隔与支持向量 支持向量机的原理是寻找与支持向量具有最大间隔的划分超平面。支持向量机具有一个重要性质: 训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关. 首先&#xff0c;超平面的方程为&#xff1a; 点到超平面的距离为&#xff…

分布式存储Ceph应用

Ceph应用一、创建 CephFS 文件系统 MDS 接口1、服务端操作2、客户端操作 二、创建 Ceph 块存储系统 RBD 接口1、创建存储池2、将存储池转换为 RBD 模式3、初始化存储池4、创建镜像5、镜像管理5.1 查看镜像5.2 修改镜像大小5.3 删除和还原镜像 6、Linux客户端使用7、快照管理 三…

排序算法之快速排序(挖坑法)

挖坑法的思想&#xff1a;记第一个数为key&#xff0c;要调整key的位置&#xff0c;使得左边的都要比key的小&#xff0c;右边的数都比key的大。 记录下关键字keybegin&#xff0c;把28那个位置挖坑holebegin 让end找到小于28&#xff08;key&#xff09;的数&#xff0c;把那…

【论文笔记】Dynamic Occupancy Grids for Object Detection: A Radar-Centric Approach

原文链接&#xff1a;https://arxiv.org/abs/2402.01488 I. 引言 感知环境在自动驾驶中非常重要&#xff0c;但传统的方法将这一过程分为两方面&#xff1a;动态物体的检测和跟踪&#xff0c;以及使用占用网格表达静态环境。占用网格难以表达高度动态的物体&#xff0c;因此动…

前端Vue3项目如何打包成Docker镜像运行

将前端Vue3项目打包成Docker镜像并运行包括几个主要步骤&#xff1a;项目打包、编写Dockerfile、构建镜像和运行容器。下面是一个基本的流程&#xff1a; 1. 项目打包 首先&#xff0c;确保你的Vue3项目可以正常运行和打包。在项目根目录下执行以下命令来打包你的Vue3项目&am…