uniapp uni-app编译器根据pages.json扫描需要编译的页面,并根据页面引入的js,css合并打包文件,对于本地的图片、字体、视频、文件等资源,如果可以直接识别,那么也会把这些资源文件打包进去,但如果这些资源以变量的方式引用,比如:<image :src="url"></image>,甚至可能有更复杂的函数计算,此时编译器无法分析。这样只要运行时确实能获取到这个图片,就可以显示,当然这也带来了一个注意事项,如果static里有一些没有使用的废文件,也会被打包到编译包里,造成体积变大,
React Router6 1.React Router 以三个不同的包发布到npm上,它们分别为:1.react-router:路由的核心库,提供了很多的:组件、钩子2.react-router-dom:包含react-router所有内容,并添加一些专门用于DOM的组件,例如等3.react-router-native:包括react-router所有内容,并添加一些专门用于ReactNative的API,例如:等。
React扩展 方式:props:消息订阅-发布:pubs-sub、event等等集中式管理:redux、dva等等conText:生产者-消费者模式父子组件(非嵌套组件):消息订阅-发布,集中式管理祖孙组件(跨级组件):消息订阅-发布,集中式管理,conText(用的少)
Redux 2.无需自己给容器组件传递store,给<App/>包裹一个<Provider store={store}>即可。3.使用了react-redux后也不用再自己检测redux中状态的改变了,容器组件可以自动完成这个工作。2).创建action的函数不再返回一般对象,而是一个函数,该函数中写异步任务。备注:redux只负责管理状态,至于状态的改变驱动着页面的展示,要靠我们自己写。2.UI组件:不能使用任何redux的api,只负责页面的呈现,交互等。
React应用(基于react脚手架) 1.设计状态时要考虑全面,例如带有网络请求的组件,要考虑请求失败怎么办2.ES6知识点:解构赋值+命名//传统解构赋值//连续解构赋值//连续解构赋值+重命名3.消息订阅与发布机制先订阅,再发布(理解:有一种隔空对话的感觉)适用于任意组件间通信要在组件的componentWillUnmount中取消订阅4.fetch发送请求(关注分离的设计思想)try {console.log('请求出错',error);
React基础 /1.创建函数式组件//此处的this是undefined,因为babel编译后开启了严格模式return 我是用函数定义的组件(适用于【简单组件】的定义)//2.渲染组件到页面</script>执行了ReactDOM.render(<MyComponent/> ....)之后,发生了什么?React解析组件标签,找到了MyComponent组件发现组件是使用函数定义的,随后调用函数,将返回的虚拟DOM转为真实DOM,随后呈现在页面中。
Vue3(TypeScript) setup是Vue3中一个新的配置项,值是一个函数,它是Composition API“表演的舞台”,组件中所用到的:数据,方法,计算属性,监视...等等,均配置在setup中setup函数返回的对象中的内容,可直接在模板中使用setup中访问this是undefinedsetup函数会在beforeCreate之前调用,它是领先所有钩子执行的姓名:{{name}}年龄:{{age}}
TypeScript极速梳理 class 类名 {属性名: 类型;constructor(参数: 类型){this.属性名 = 参数;方法名(){....console.log(`大家好,我是${this.name}`);const p = new Person('孙悟空', 18);
Vue组件化编程 1.一种组件间通信的方式,适用于子组件 ====> 父组件2.使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中第一种方式,在父组件中:<Demo @atguigu="test"/>或<Demo v-on:atguigu="test"/>//触发Student组件实例身上的atguigu事件},第二种方式:在父组件中:......mounted(){<template>
Web前端Promise 说明:只有这两种,且一个promise对象只能改变一次,无论变为成功还是失败,都会有一个结果数据,成功的结果数据一般称为value,失败的结果数据一般称为reason。说明:返回一个新的promise,只有所有的promise都成功才成功,只要有一个失败了就直接失败。说明:返回一个新的promise,第一个完成的promise的结果状态就是最终的结果状态。如果传入的参数为非promise类型的对象,则返回的结果为成功promise对象。无论传入什么样的数值,结果均为失败的promise对象。
Web前端ES6-ES11知识点】 /声明一个对象name: "终极一班",stus: ['knight'],//索引变量//return {//下标自增index++;//返回结果}else{//遍历这个对象。
Vue基础 1.Vue会监视data中所有层次的数据2.如何监测对象中的数据?通过setter实现监视,且要在new Vue时就传入要监测的数据对象中后追加的属性,Vue默认不做响应式处理如需给后添加的属性做响应值,使用如下API:Vue.set(target,propertyName/index,value)或者vm.$set(target,propertyName/index,value)3.如何监测数组中的数据?调用原生对应的方法对数组进行更新重新解析模板,进而更新页面。
接口以及会话控制 所谓会话控制就是对会话进行控制HTTP是一种无状态的协议,他没有办法区分多次的请求是否来自于同一个客户端,无法区别用户而产品中又大量存在这样的需求,多以我们需要通过会话控制来解决该问题。