【JavaWeb】前端框架(Vue+Ajax+工程)

一、Vue

在这里插入图片描述

1.什么是Vue?

  • Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。
  • 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。

在这里插入图片描述

框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。基于框架进行开发,更加快捷、更加高效。

2.Vue快速入门

  1. 新建HTML页面,引入Vue.js文件
<script src="js/vue.js"></script>
  1. 在JS代码区域,创建Vue核心对象,定义数据模型
<script>
	new Vue({
		el: "#app",
		data: {
			message: "Hello vue !"
		}
	})
</script>
  1. 编写视图
<div id="app">
<input type="text" v-model="message">
{{ message }}
</div>

插值表达式

  • 形式:{{表达式}}。
  • 内容可以是:
    • 变量
    • 三元运算符
    • 函数调用
    • 算术运算

3.常用指令

  • 指令:HTML标签上带有v-前缀的特殊属性,不同指令具有不同含义。例如:v-if , v-for…
  • 常用指令
    在这里插入图片描述
(1)v-bind和v-model
  • v-bind
<a v-bind:href="ur1">传智教育</a>
<a :href="ur1">传智教育</a>
  • v-model
<input type="text" v-model="url">
<script>
	new Vue({
		el: "#app",
		data:{
			url: "https://www.baidu.com"
		}
	})
</script>

注意事项:
通过v-bind或者v-model绑定的变量,必须在数据模型中声明。

(2)v-on
<input type="button" value="按钮" v-on:click="handle()">
<input type="button" value="按钮" @click="handle()">
<script>
	new Vue({
		el: "#app",
		data: {
			//...
		},
		methods:{
				handle:function(){
				alert('我被点击了');
			}
		},
	})
</script>
(3)v-if和v-show
  • v-if
年龄{{age}},经判定为:
<span v-if="age <= 35">年轻人</span>
<span v-else-if="age > 35 && age < 60">中年人</span>
<span v-else>老年人</span>
  • v-show
年龄{{age}},经判定为:
<span v-show="age <= 35">年轻人</span>
(4)v-for
<div v-for="addr in addrs">{{addr}}</div>
<div v-for="(addr,index) in addrs">{{index + 1}} : {{addr}}</div>
data:{
	. . .
	addrs :['北京','上海','广州','深圳','成都','杭州']
},

4.Vue生命周期

  • 生命周期:指一个对象从创建到销毁的整个过程。
  • 生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)。
    在这里插入图片描述

在这里插入图片描述

<script>
	new vue({
		el: "#app" 
		data: {
		
		},
		mounted() {
			console.log( "Vue挂载完毕,发送请求获取数据");
		},
		methods: {
		
		},
	})
</script>
  • mounted:挂载完成,Vue初始化成功,HTML页面渲染成功。(发送请求到服务端,加载数据)

二、Ajax

  • 概念:Asynchronous JavaScript And XML,异步的JavaScript和XML。
  • 作用:
    • 数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。
    • 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如∶搜索联想、用户名是否可用的校验等等。

在这里插入图片描述

1.同步与异步

在这里插入图片描述

2.原生Ajax(繁琐,过时)

  1. 准备数据地址:http://yapi.smart-xwork.cn/mock/169327/emp/list
  2. 创建XMLHttpRequest对象:用于和服务器交换数据
  3. 向服务器发送请求
  4. 获取服务器响应数据
<body>
	<input type="button" value="获取数据" onclick="getData()"><div id="div1"></div>
</body>
<script>
	function getData(){
		//1.创建XMLHttpRequest
		var xmlHttpRequest = new XMLHttpRequest();

		//2.发送异步请求
		xmlHttpRequest.open('GET', 'http://yapi.smart-xwork.cn/mock/169327/emp/list');
		xmlHttpRequest.send();//发送请求
		
		//3.获取服务响应数据
		xmlHttpRequest.onreadystatechange = function(){
			if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){
				document.getElementByld('div1').innerHTML = xmlHttpRequest.responseText;
			}
		}
	}
</script>

在这里插入图片描述

3.Axios

在这里插入图片描述

  1. 引入Axios的js文件
<script src="js/axios-0.18.0.js"></script>
  1. 使用Axios发送请求,并获取响应结果
axios({
	method: "get",
	url: "http://yapi.smart-xwork.cn/mock/169327/emp/list"
}).then((result)=> {//成功回调函数
	console.log(result.data);
});
axios({
	method:"post",
	url:"http://yapi.smart-xwork.cn/mock/169327/emp/deleteByld",
	data:"id=1"
}).then((result)=>{//成功回调函数
	console.log(result.data);
});
  1. 请求方式别名(推荐)
axios.get(url [,config])
axios.delete(url [,config])
axios.post(url [,data[,config]])
axios.put(url [,data[,config]l)
  1. 发送GET请求
axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then((result)=>{
	console.log(result.data);
]);
  1. 发送POST请求
axios.post("http://yapi.smart-xwork.cn/mock/169327/emp/deleteByld","id=1").then(result)=>{
	console.log(result.data);
});

4.Vue项目中使用Axios

  • 在项目目录下安装axios:
npm install axios;
  • 需要使用axios时,导入axios:
import axios from 'axios';

三、前后端开发

1.前后端混合开发

在这里插入图片描述

  • 沟通成本高
  • 分工不明确
  • 不便管理
  • 不便维护拓展

2.前后端分离开发(主流)

  • 当前最为主流的开发模式:前后端分离
    在这里插入图片描述

3.YApi

  • 介绍:YApi是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务
  • 地址:http://yapi.smart-xwork.cn/
  • 功能:
    1. API接口管理
    2. Mock服务

在这里插入图片描述

4.前端工程化

  • 前端工程化:是指在企业级的前端项目开发中,把前端开发所需的工具、技术、流程、经验等进行规范化、标准化。
    1. 模块化:Js、css
    2. 组件化:UI结构、样式、行为
    3. 规范化:目录结构、编码、接口
    4. 自动化:构建、部署、测试
(1)环境准备

vue-cli

  • 介绍: Vue-cli 是Vue官方提供的一个脚手架,用于快速生成一个Vue的项目模板。
  • Vue-cli提供了如下功能:
    1. 统一的目录结构
    2. 本地调试
    3. 热部署
    4. 单元测试
    5. 集成打包上线
  • 依赖环境:NodeJS

安装NodeJS

  • 官网:https://nodejs.org/zh-cn
    在这里插入图片描述
  • 配置npm的全局安装路径
  • 使用管理员身份运行命令行,在命令行中,执行如下指令:
npm config set prefix "D:\nodejs"
  • 注意:D:\nodejs 这个目录是NodeJS的安装目录
  • 切换npm的淘宝镜像
  • 使用管理员身份运行命令行,在命令行中,执行如下指令:
npm config set registry https://registry.npm.taobao.org

安装vue-cli

  • 使用管理员身份运行命令行,在命令行中,执行如下指令:
npm install -g @vue/cli
  • 这个过程中,会联网下载,可能会耗时几分钟,耐心等待。
(2)vue项目简介

Vue项目-创建

  • 命令行:vue create vue-project01
  • 图形化界面:vue ui

Vue项目-目录结构
基于Vue脚手架创建出来的工程,有标准的目录结构,如下:
在这里插入图片描述
src目录:
在这里插入图片描述
Vue项目-启动
在这里插入图片描述
在这里插入图片描述
Vue项目-配置端口

打开vue.config.js

const i defineconfig } = require('@vue/cli-service')
module.exports = defineConfig({
	transpileDependencies: true,
	devserver: {
	port: 7000,
	}
})
(3)Vue项目开发流程
  • 默认首页index.html
  • 入口文件main.js

在这里插入图片描述

  • Vue的组件文件以.vue结尾,每个组件由三个部分组成: <template><script><style>
    在这里插入图片描述

5.Vue组件库Element

(1)什么是Element
  • Element:是饿了么团队研发的,一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库。
  • 组件:组成网页的部件,例如超链接、按钮、图片、表格、表单、分页条等等。
  • 官网:https://element.eleme.cn/#/zh-CNListener

在这里插入图片描述

(2)安装Element
  • 安装ElementUl组件库(在当前工程的目录下),在命令行执行指令:
npm install element-ui@2.15.3
  • 引入ElementUl组件库(main.js)
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
  • 访问官网,复制组件代码,调整

6.Vue路由

(1)Vue Router
  • 介绍:Vue Router是Vue的官方路由。
  • 组成:
    • VueRouter:路由器类,根据路由请求在路由视图中动态渲染选中的组件
    • <router-link>:请求链接组件,浏览器会解析成<a>
    • <router-view>:动态视图组件,用来渲染展示与路由路径对应的组件
      在这里插入图片描述
(2)Vue路由
  • 安装(创建Vue项目时已选择)
npm install vue-router@3.5.1
  • 定义路由
    在这里插入图片描述
  • 重定向
{
	path: '/',
	redirect: '/dept'
}

7.打包部署

(1)打包
  • 点击build后面的三角号
  • 生成的文件在dist文件夹
    在这里插入图片描述
(2)部署(Nginx)
  • 介绍:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,在各大型互联网公司都有非常广泛的使用。
  • 官网: https://nginx.org/
    在这里插入图片描述
  • 部署:将打包好的dist目录下的文件,复制到nginx安装目录的html目录下(默认文件可以删掉)。
  • 启动:双击nginx.exe文件即可,Nginx服务器默认占用80端口号
  • 查看:打开任务管理器是否存在Nginx进程
  • 如果没有可以查看错误日志(log/error.log)
  • 在命令行中输入netstat -ano | findStr 80可查看占用80端口的进程号
  • 跟换端口:(conf/nginx.conf)找到默认端口(36行)更改为90
  • 访问:http: // localhost:90
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值