Kevin Law

Kevin Law

全栈工程师,擅长Node.js和C#, 前端擅长使用vue和原生JavaScript. 有多年的GIS相关开发经验。 Front-end and back-end developer. Good at Node.js and C#. Have rich experience on GIS and .NET development.

📍 Chengdu
call() , apply() 与 bind() 实例详解
Frontend

call() , apply() 与 bind() 实例详解

call() , apply() 与 bind() 详解 我们知道可以用call(), apply() 和 bind()这三个函数都是用来完成函数调用,并且设置this指向。 call()和apply()是 ECMAScript3 标准引入,而bind()函数则是在 ECMAScript 5 引入。 这边文章会用几个小例子来回忆一下他们之间有什么不一样。 用法 call()和apply() 会立即调用函数, 而bind()只会返回一个函数引用,当后面真正调用返回的函数的时候,函数里面的this将会指向给bind()函数传入的参数,并在调用新函数时,将给定参数列表作为原函数的参数序列的前若干项, 所以 bind()函数非常适合在事件回调的时候修改this 指向, 有React 经验的朋友应该会有更深的感受。 call() var dist = 'Beijing'; function greet(name, hometown) { var word = `Welcome

Visual Studio Code断点调试Vue
Visual Studio Code

Visual Studio Code断点调试Vue

很多人习惯在 Chrome 的调试窗口中调试 Vue 代码, 或者直接使用 console.log 来观察变量值, 这是非常痛苦的一件事,需要同时打开至少 3 个窗体。个人还是更加习惯于断点调试。这篇文章将介绍如何配置 Visual Studio Code 和 Chrome 来完成直接在 VS Code 断点调试代码, 并且在VS Code的调试窗口看到Chrome中console相同的值。 设置 Chrome 远程调试端口 首先我们需要在远程调试打开的状态下启动 Chrome, 这样 VS Code 才能 attach 到 Chrome 上: Windows 右键点击 Chrome 的快捷方式图标,选择属性 在目标一栏,最后加上--remote-debugging-port=9222 注意要用空格隔开 macOS 打开控制台执行:

基于Nginx, Node.js 和 Redis的Docker容器化工作流

基于Nginx, Node.js 和 Redis的Docker容器化工作流

在本文中,我将详细介绍基于Docker的示例工作流的一些概念。对于这个例子,我有一个非常简单的Node.js应用程序,用于递增存储在Redis上的计数器。我将Redis和Node应用程序独立开,因为我希望能够根据负载来扩展节点应用程序。首先,我有3个运行该应用程序的节点服务器实例。还有一个Nginx节点位于应用程序之前,用于节点实例的负载均衡。 我们可以想象得到我们的容器结构: 1个Redis容器 3个Node容器 1个Nginx容器 我们的业务架构应该如下图所示: 我们可以使用Docker命令从头开始构建容器,但为了更容易,我们将写一个Dockerfile,它可以为我构建容器。后面我们也会用到Docker Compose来编排我们应用程序的Docker容器。 Redis 容器 让我们使用来自DockerHub的官方Redis镜像作为Redis容器。它预先安装了Redis服务器,并在默认端口6379上运行。因此,只要您确定了默认设置,就不需要配置任何设置。您可以直接从Redis映像创建并运行容器: docker run -d --name redis -p 6379:6379 redis 你也可以从基础Ubuntu映像构建Redis映像,Dockerfile将如下所示: # Set the base image to Ubuntu FROM

Webpack 和 Gulp 的区别
Webpack

Webpack 和 Gulp 的区别

随着Webpack越来越流行,很多人开始将它和Gulp作比较。 我在一些论坛看到很多评论在比较网站开发用哪一个更好。这篇文章将简单介绍什么是Webpack, 它和Gulp有什么不同,更重要的是,你该用哪一个? 介绍 在过去的几年中,Web开发行业发生了很大变化,新的工具不断取代旧的解决方案。例如,曾经CodeKIT是一种用于编译和分类工具和资产的基于GUI的工具也很流行,它后来由Grunt取而代之。再然后Gulp出现,立即以其直观和强大的方式赢得了网络开发人员的心。 现在,Webpack正处于潮流中。它会完全取代Gulp吗?很多人有不同观点,但趋势确实非常强劲: 所以到底什么是Webpack 我们先从Webpack的官方网站看看: Webpack takes modules with dependencies and generates static assets representing those modules. Webpack将模块和它们的依赖生成生成能代表这些模块的静态资源 下面这张图就能代表Webpack做的所有事了: 下面是一些webpack入门教程: Getting started with Webpack: https://webpack.js.org/guides/get-started/ Official Webpack