• 尚医通(三)


    视频链接:https://www.bilibili.com/video/BV1V5411K7rT?vd_source=9545770e4a2968c05878ffac8589ec6c
    视频选集:P26— P45
    Java微服务 + 分布式 +全栈项目

    1.vscode安装和使用

    安装地址:https://code.visualstudio.com/
    安装下面的插件:
    在这里插入图片描述

    2.ES6语法

    ECMAScript 6.0(简称ES6 )是JavaScript语言的下一代标准,2015年6月正式发布。它的目标,是使得]avaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
    ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript方言还有Jscript和ActionScript )

    2.1 定义变量

    let定义变量有作用范围,同时不能声明多次

    <body>
    	<script>
    		//定义 变量
    		{	
    			var a = 1;
    			let b = 2;
    		}
    		console.log(a)
    		console.log(b) //b is not defined
    		
    		var m = 1;
    		var m = 2;
    		let n = 10;
    		let n = 20;i  //'n" has already been declared
    
    		console.log(m)
    		console.log(n) 
    	</script>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    2.2 常量和解构赋值

    // 1、声明之后不允许改变
    const PI = "3.1415926"
    PI = 3 // TypeExror: Assignment to constant variable
    
    // 2、一但声明必须初始化,否则会报错
    const MY_AGE // Missing initializexin const declaratione
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    解构赋值是对赋值运算符的扩展
    他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。
    在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取

    //1、数组解构
    	//传统
    	let a = 1,b = 2, c = 3
    	console.log(a,b, c)
    	
    	//ES6
    	let [x, y,z] = [123]
    	console.log(x, y,z)
    
    
    //2、对象解构,
    	let user = {name: 'Helen', age: 18}
    	//传统
    	let namel = user.name
    	let age1 = user.age
    	console.log(namel,agel)
    	
    	//ES6
    	let{name,age} = user //注意:结构的变量必须是user中的属性
    	console.log(name,age)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2.3 模板字符串

    模板字符串相当于加强版的字符串,用反引号`,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式

    //字符串插入变量和表达式。变量名写在${}中,${}中可以放入JavaScript表达式。
    let name = "Mike"
    let age = 27
    let info = `My Name is $ {name} , I am $ {age+1} years old next year.`
    console.log(info)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.4 定义对象

    <body>
    	<script>
    		//传统方式定义对象
    		const name = "lucy"
    		const age = 20
    		const user1 = {name:name, age:age}
    		console.log(user1)
    		
    		//es6
    		const user2 = {name,age}
    		console.log(user2)
    	 </script>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.5 对象拓展运算符

    拓展运算符(…)用于取出参数对象所有可遍历属性然后拷贝到当前对象

    //1、拷贝对象
    let personl = {name : "Amy", age: 15}
    let someone = {...person1 }
    console.log(someone)// {name : "Amy", age: 15},
    
    // 2、合并对象
    let age = {age: 15}
    let name = {name : "Amy" ]
    let person2 = {...age, . ..name} 
    console.log(person2) //{age: 15,name: "Amy"}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.6 箭头函数

    箭头函数提供了一种更加简洁的函数书写方式。
    基本语法是:参数=>函数体
    箭头函数多用于匿名函数的定义

    <body>
    	<script>
    		//传统方式定义函数
    		var f1 = function(a) {
    			return a
    		}
    		console.log(f1(3))
    		
    		//es6使用箭头函数定义
    		//参数=〉函数体
    		var f2 = a => a
    		console.log(f2(4))
    
    		var f3 = function(m,n){
    			return m+n
    		}
    		
    		//es6
    		var f4 = (m,n) => m+n
    		console. log(f4(4,5))
    	/script>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    3.Vue

    在为AngularJS工作之后,Vue的作者尤雨溪开发出了这一框架。他声称自己的思路是提取Angular中为自己所喜欢的部分,构建出一款相当轻量的框架。Vue最早发布于2014年2月。作者在Hacker News、Echo JS 与Reddit的javascript版块发布了最早的版本。一天之内,Vue就登上了这三个网站的首页。Vue是Github上最受欢迎的开源项目之一。同时,在JavaScript框架/函数库中,Vue所获得的星标数已超过React,并高于Backbone.js、Angular 2、jQuery等项目。

    Vue.js是一款流行的JavaScript前端框架,目的是简化Web开发。Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,实现视图与模型的交互

    3.1 入门案例

    创建文件夹vuejs,将vue.min.js.引入文件夹·
    在这里插入图片描述

    <body>
    	<script src="vue.min.js">< / script>
    	<div id = "app">
    		<!--插值表达式-->
    		{{message}}
    	</div>
    	<script>
    		new Vue({ 
    			el:"#app',
    			data:{
    				message:'hello vue'
    			}
    		})
    	</script>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    这就是声明式渲染:Vue.js的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统
    这里的核心思想就是没有繁琐的DOM操作,例如jQuery中,我们需要先找到div节点,获取到DOM对象,然后进行一系列的节点操作

    3.2 单项和双项绑定指令

    单项绑定:v-bind 【用在标签属性上面,通过指令获取data定义变量值】
    在这里插入图片描述
    简写:
    在这里插入图片描述
    双向绑定:v-model
    当数据发生变化的时候,视图也会跟着发生变化;数据模型发生了改变,会直接显示在页面上;当视图发生变化的时候,数据也会跟着同步变化;用户在页面上的修改,会自动同步到数据模型中去
    在这里插入图片描述

    3.2 绑定事件

    v-on:事件名称 = “调用方法"
    简写:@事件名称

    <body>
    	<div id="app">
    	<button v-on: click="show()">事件绑定</ button>
    	<button @click="show()">事件绑定</ button>
    	</div>
    	
    	<script src="vue.min.js"></script>
    	
    	<script>
    		new Vue({
    			el: '#app',
    			data: {
    				keyword: '尚硅谷'
    			},
    			methods:{
    				show( ){
    					console.log( "show .....")
    				}
    			}
    		})
    	</script>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    在这里插入图片描述

    3.3 条件指令

    v-if:条件判断
    v-else

    在这里插入图片描述

    3.4 循环指令【列表指令】

    v-for
    在这里插入图片描述
    在这里插入图片描述

    3.5 生命周期

    created方法:在页面渲染之前执行
    mounted方法:在页面渲染之后执行
    在这里插入图片描述
    在这里插入图片描述

    3.6 axios使用

    axios是独立于vue的一个项目,可以用于浏览器和node.js 中发送ajax请求
    在这里插入图片描述

    • 第一步在html页面引入axios的js文件,包含vue的js文件
      在这里插入图片描述
    • 编写具体的代码
      在这里插入图片描述

    4.Element-UI介绍

    element-ui是饿了么前端出品的基于Vue.js的后台组件库,方便程序员进行页面快速布局和构建。
    官网: http://element-cn.eleme.io/#/zh-CN

    其中的组件比如表单,按钮的格式可以直接复制代码使用
    在这里插入图片描述

    5.Nodejs介绍

    浏览器的内核包括两部分核心∶

    • DOM渲染引擎,
    • JavaScript解析引擎,

    Chrome浏览器内置V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

    脱离浏览器环境也可以运行JavaScript,只要有JavaScript引擎就可以。Node.js是一个基于Chrome V8引擎的JavaScript运行环境:即 Node.js内置了Chrome的V8引擎,可以在 Node.js环境中直接运行JavaScript程序。,

    在Node.js 中写JavaScript和在 Chrome浏览器中写JavaScript基本没有什么不一样。哪里不一样呢?

    • Node.js没有浏览器API ,即document , window的等
    • 加了许多Node.js专属API ,例如文件系统,进程, http功能

    如果你想开发类似JavaWeb的简单的后端程序,那么学习Node.js是一个非常好的选择。如果你想部署一些高性能的服务,那么学习Node.js 也是一个非常好的选择
    通常他会被用来作一个BFF层,即 Backend For Frontend(服务于前端的后端),通俗的说是一个专门用于为前端业务提供数据的后端程序。
    在这里插入图片描述
    BFF层的作用是让前端有能力自由组装后台数据,减少大量的业务沟通成本,加快业务的迭代速度
    无论是数据聚合还是数据剪裁,这类程序的特点是不需要太强大的服务器运算能力,但是对程序的灵活性有较高的要求,这两个特点都正好和Node.js的优势相吻合。

    6.npm包管理工具

    NPM全称Node Package Manager,是 Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是 Node.js的包管理工具,相当于前端的Maven

    • 安装完成nodejs之后自动安装上NPM
    • 查看是否成功:npm -v
    • 创建项目文件夹,项目初始化操作使用命令 npm init【npm init -y 全部默认】
    • 修改镜像地址
    • 下载依赖测试:使用命令npm install 依赖名称
    • 根据配置文件下载依赖:直接使用命令 npm install

    7.es6模块化

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在nodejs环境中无法直接执行es6模块化代码,需要es6代码转换es5才可以执行,所以用下面的转码工具

    8.babel转码器

    1. 安装babel工具 使用命令 npm install -g babel -cli
    2. 配置.babelrc
      Babel的配置文件是.babelrc,存放在项目的根目录下,该文件用来设置转码规则和插件,presets字段设定转码规则
      在这里插入图片描述
    3. 安装es2015转码器 : npm install -D babel -preset -es2015
    4. 使用命令进行转码:babel src -d dist【#整个目录转码;#–out-dir或-d参数指定输出目录】

    9.webpack打包工具

    Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源
    从图中我们可以看出,Webpack可以将多种静态资源js、css、less转换成一个静态文件,减少了页面的请求

    1. 使用npm init -y进行初始化操作
    2. 联网下载命令:npm install -g webpack webpack -cli
    3. 查看版本:webpack -v
    4. 创建js文件
      在这里插入图片描述
    5. 创建配置文件: webpack.config.js
    6. 使用命令进行打包:webpack
      在这里插入图片描述
  • 相关阅读:
    2022年外资EDI证办理流程及要求
    Linux内核设计与实现 第十章 内核同步
    ArcGIS Pro 中的编辑器
    Java 并发编程基础 --Synchronized
    Springboot配置WebMvcConfig解决Cors非同源访问跨域问题
    替代netstat的命令之一【ss】 使用实例
    vue白名单/强制登录/改变flask的端口号
    存储过程、函数与触发器
    vue 打包 插槽 inject reactive draggable 动画 foreach pinia状态管理
    y122.第七章 服务网格与治理-Istio从入门到精通 -- 流量治理实战进阶(八)
  • 原文地址:https://blog.csdn.net/weixin_49883619/article/details/126803942