【实际开发中遇到的问题】npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` ins 这是组件库所使用的依赖库版本和本地安装版本不一样导致的。当安装依赖出现以下问题。在安装依赖的后面加上。
【前端性能优化】 --- 一次总结明白 一次Http请求通常包含很多工作,如记录日志、ip过滤、查询字符串、请求体解析、Cookie处理、权限验证、参数验证、异常处理等,但对于Web应用而言,并不希望接触到这么多细节性的处理,因此引入中间件来简化和隔离这些基础设施与业务逻辑之间的细节,让我们能够关注在业务的开发上,以达到提升开发效率的目的。页面的展示主体是文章展示,如果文章展示的请求靠后了,那么渲染文章出来的时间必然靠后,因为有可能因为请求阻塞等情况,影响请求响应情况,如果超过一次并发的情况的话,会更加的慢。与3.2的分包不同。...
【Node.js】--- 基础知识 加载自定义模块时,路径要以./或../开头,否则会作为内置模块或第三方模块加载。按确切的文件名加载补全.js扩展名加载补全.json扩展名加载补全.node扩展名加载报错。
Promise的理解与使用 2.使用 promise 封装 ajax 异步请求3.fs模块使用Promise4.异常穿透5.2、为什么要用Promise?Ⅰ-指定回调函数的方式更加灵活Ⅱ-支持链式调用, 可以解决回调地狱问题1、什么是回调地狱2、回调地狱的缺点?3、解决方案?4、终极解决方案?3、Promise中的常用 API 概述Ⅰ- Promise 构造函数: Promise (excutor) {}Ⅱ-Promise.prototype.then 方法: (onResolv
Promise基础知识 由于JavaScript语言特性,所有程序都是单线程执行的。由于这个特性,JavaScript的一些浏览器事件、请求事件都是异步执行的,通过回调函数处理异步的结果。这是很常见的语法,但是在一些场景下,就会形成回调函数嵌套回调函数,有的情况甚至套用多层,形成了“回调地狱”,这样使得代码臃肿可读性差而且难以维护。为了解决这种问题,社区提出了一些解决方案,采用链式调用的方法,来解决异步回调,并在在ES6被统一成规范。可以说Promise 是异步编程的一种解决方案。作为新的规范,promise采用更加直观也更
【【每日一题,冲刺秋招(8)】—— Ajax】 Ajax并不算是一种新的技术,全称是asychronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持使用ajax原生方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果基本步骤:js框架(jQuery/EXTJS等)提供的
【Vue3+Ts】—— TypeScript打包构建 通常情况下,实际开发中我们都需要使用构建工具对代码进行打包;TS同样也可以结合构建工具一起使用,下边以webpack为例介绍一下如何结合构建工具使用TS;步骤如下:进入项目根目录,执行命令创建package.json文件命令如下:共安装7个包:根目录下创建webpack的配置文件:四、配置TS编译选项根目录下创建tsconfig.json,配置可以根据自己需要,具体配置可以参考【Vue3+Ts】—— TypeScript编译选项(tsconfig.json配置)修改package.json配
【Vue3+Ts】—— TypeScript编译选项(tsconfig.json配置) 编译文件时,使用 -w 指令后,TS编译器会自动监视文件的变化,并在文件发生变化时对文件进行重新编译。示例:自动编译整个项目如果直接使用tsc指令,则可以自动将当前项目下的所有ts文件编译为js文件。但是能直接使用tsc命令的前提时,要先在项目根目录下创建一个ts的配置文件 tsconfig.jsontsconfig.json是一个JSON文件,添加配置文件后,只需只需 tsc 命令即可完成对整个项目的编译配置选项:示例:上述示例中,所有src目录和tests目录下的文件都会被编译示例:上述示例中
【TypeScript】——TS 数据类型 编程开发中我们有一个共识:错误出现的越早越好,能在写代码的时候发现错误,就不要在代码编译时再发现(IDE的优势就是在代码编写过程中帮助我们发现错误。能在代码编译期间发现错误,就不要在代码运行期间再发现(类型检测就可以很好的帮助我们做到这一点)。能在开发阶段发现错误,就不要在测试期间发现错误,能在测试期间发现错误,就不要在上线后发现错误。 为了弥补JavaScript类型约束上的缺陷,增加类型约束,很多公司推出了自己的方案:2014年Facebook推出了flow来对JavaScript进行类型检查.....
一次弄懂this指向问题 在常见的编程语言中,几乎都有this这个关键字(Objective-C中使用的是self),但是JavaScript中的this和常见的面向对象语言中的this不太一样:常见面向对象的编程语言中,比如Java、C++、Swift、Dart等等一系列语言中,this通常只会出现在中。也就是你需要有一个类,类中的方法(特别是实例方法)中,this代表的是当前调用对象。但是JavaScript中的this更加灵活,无论是它出现的位置还是它代表的含义。使用this有什么意义呢?下面的代码中,我们通过对象字面量创建出
【Vue3+Ts】—— Composition API综合练习 目录useCounteruseTitleuseScrollPosition前面我们已经学习了等等Composition API,那下面将通过一个Composition API的综合练习来巩固一下组合API的使用以及代码逻辑的封装(即Hook函数的封装)。其中该综合练习包含以下功能:计数器案例的实现。修改网页的标题。完成一个监听界面滚动位置。在使用Composition API之前,我们先看看用Options API是如何实现该功能...
【Vue3+Ts】—— composition API(三)计算属性 在前面我们讲解过计算属性computed:当我们的某些属性是依赖其他状态时,我们可以使用计算属性来处理如何使用computed呢?计算属性两种用法给computed传入函数,返回值就是计算属性的值给computed传入对象,get获取计算属性的值,set监听计算属性改变。这种写法适用于需要的情况 Watch侦听数据的变化在前面的Options API中,我们可以通过watch选项来侦听data或者props的数据变化,当数据变化时执行某一些操作。.........
【计算机网络】—— 了解计网基础看这篇就够 计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。......
【Vue3+Ts】—— composition API(二) 如果想为在setup中定义的数据提供响应式的特性,那么我们可以使用reactive的函数: 那么这是什么原因呢?为什么就可以变成响应式的呢? reactive API对传入的类型是有限制的,它要求我们必须传入的是一个对象或者数组类型: 这个时候Vue3给我们提供了另外一个API:ref API 这里有两个注意事项: 模板中的解包是浅层的解包,如果我们的代码是下面的方式:如果我们将ref放到一个reactive的属性当中,那么在模板中使用时,它会自动解包: 我们通过reactive或者ref可以获取到一
【Vue3.0+Ts】—— composition API(一) Composition API是Vue的下一个主要版本中最常用的讨论和特色语法。这是一种全新的逻辑重用和代码组织方法·当前,我们使用所谓的Options API构建组件。为了向Vue组件添加逻辑,我们填充(选项)属性,例如数据,方法,计算的等。这种方法的最大缺点是,这本身并不是有效的JavaScript代码。您需要确切了解模板中可以访问哪些属性,以及此关键字的行为。在后台,Vue编译器需要将此属性转换为工作代码。因此,我们无法从自动建议或类型检查中受益。Composition API的目的是通过将当前可用组
【Vue3+Ts】—— 组件化开发(一)组件通信 前面我们是将所有的逻辑放到一个App.vue中:在之前的案例中,我们只是创建了一个组件App;如果我们一个应用程序将所有的逻辑都放在一个组件中,那么这个组件就会变成非常的臃肿和难以维护;所以组件化的核心思想应该是对组件进行拆分,拆分成一个个小的组件;再将这些组件组合嵌套在一起,最终形成我们的应用程序;我们来分析一下下面代码的嵌套逻辑,在真实开发中,我们会有更多的内容和代码逻辑,对于扩展性和可维护性来说都是非常差的。所以,在真实的开发中,我们会对组件进行拆分,拆分成一个个功能的小组件。 我们可以按照如下的方式
【Vue3+Ts】—— webpack学习笔记(三)Plugin插件 Webpack的另一个核心是Plugin,官方有这样一段对Plugin的描述:上面表达的含义翻译过来就是:前面我们演示的过程中,每次修改了一些配置,重新打包时,都需要手动删除dist文件夹:我们可以借助于一个插件来帮助我们完成,这个插件就是 CleanWebpackPlugin;另外还有一个不太规范的地方:对HTML进行打包处理我们可以使用另外一个插件:HtmlWebpackPlugin;我们会发现,现在自动在dist文件夹中,生成了一个index.html的文件:该文件中也自动添加了我们打包的bund