自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 NPM 包的开发指南

NPM, 全称 Node Package Manager,用过 Javascript 做开发的朋友应该都知道这个东西,其实严格上来说,NPM 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题。无论是前端开发,还是 Node 服务器的搭建,我们都会不可避免地使用到 NPM,通过 NPM 我们可以引用第三方的库/框架到自己的项目中,并且在使用起来特别简洁,只需要一行代码,以常用的库来说:npm install vue express以上命令便在当前项目中很快地安装了

2021-06-28 14:08:30 1468

原创 在 Javascript 中安全地执行动态脚本

在 Javascript 中安全地执行动态脚本动态脚本,在每种编程语言都有涉及,比如微软的 Office 里面的 VBA 脚本,比如浏览器插件的 Tampermonky,比如很多在线工具类网站的脚本在线执行,甚至在国外很火的 SaaS 以及其衍生平台中的开发者功能都是可以通过动态脚本来实现的。而动态脚本也大体分为两种,一是在用户客户端里执行的代码,比如 Tampermonkey ,它可以让用户使用各种自定义的代码来完成特定的功能,而这些动态脚本都有一个局部性就是只在指定客户端生效。而第二种就是运行在服

2021-06-10 16:11:05 1357 2

原创 [CSS] Position 用法进阶01:匹配父级容器空间

引入在前端界面设计中,会有那么一些布局,需要占满整个父级容器,比如:模态框(Modal)的背景加载器(Spinner)的背景以上两种组件中,都是将背景完全填充到父级容器,区别在于模态框通常是背景填满屏幕,通常使用 position: fixed; 用于定位,而加载器更多用于将其背景布满父级容器,通常使用 position: absolute; 定位。通过 CSS position 属性实现填满父级容器为了实现填充父级的需求,从正常的盒子模型的设计逻辑来讲,我们的思路大体上很简单:

2021-01-12 17:39:47 929

原创 模拟 Vue 中 JS 动态表达式在模版中被动态解析的实现

最近在写自己的一个 web 框架 ref-lit.js,仅仅打算自己练练手,在这个框架中,其模版语法借助了 lit-html.js,而 lit-html.js 是通过 ES2015 规范中的模版字符串实现的 HTML 模版以及表达式的绑定的,虽然好用,但是考虑到兼容问题,我就想着自己去写一个解析模版的方法,将类似于 Vue 中的模版解析为模版字符串的结果。而为了能够达到学习和提升的效果,我不打算第一时间去参考 Vue 的源码,想着通过自己的知识体系能不能实现这个需求,那么,首先从最基础的 JS 表达式入手。

2020-11-13 15:33:30 983

原创 [Webpack 踩坑] 使用 Webpack 打包 Web 端和 Node 服务端通用的依赖库

[Webpack 踩坑] 使用 Webpack 打包 Web 端和 Node 服务端通用的依赖库引言最近准备着手将大学时写的一个框架给规范化,想着将它部署成 NPM 上的一个 Package,但遇到了两个问题:这个框架完全是由 ES5 语法规范搭建的,也没有考虑模块依赖什么的,它本身依赖的其它库都是纯代码复制到项目文件内容的上方,所以我们应该需要使用模块化来引用其依赖的框架,如 ES5 的 require如果使用了 require 语法,那么意味着所有想使用该框架的项目都必须使用 NPM,该框架的

2020-10-23 15:31:11 2043 1

原创 在 Vue2 Annotate 中通过 Annotate JS 生成自定义注解(面向切面编程)

在 Vue2 Annotate 中通过 Annotate JS 生成自定义注解(面向切面编程)本文基于在了解 Vue2 Annotate 框架基本用法后的进阶使用技巧Vue2 Annotate 简介地址:https://palerock.cn/articles/001JPDEjZ87Vue2 Annotate 文档地址:https://palerock.cn/projects/006XvyfPS9e为了快速生成自定义注解,我们需要用到 Annotate JS 框架 提供的几个注解:@Surr

2020-09-30 15:31:04 704

原创 在 Vue 中使用注解(装饰器)

在 Vue 中使用注解(装饰器)Javascript 中的注解(装饰器)谈及注解/装饰器,使用过 Java 或 Python 的同学一定会想到一种语法:@Annotate 或 @Decorator,虽然叫法不同,但本质上都是实现同样的功能,面向切面编程,使你所写的代码变得干净清爽,将一些复杂的逻辑隐藏在注解(装饰器)中。但是,在 Javascript 的标准语法中,并没有类似的写法,如果想要实现类似的语法,那该怎么办呢?由于 Javascript 也是一直在进步中,语法越来越丰富,不断有新的语法提案

2020-09-27 14:48:18 4034

原创 在 NodeJS 服务端项目中使用注解

在 NodeJS 服务端项目中使用注解NodeJS 是使用 Javascript 语言的服务端开发的解决方案。当从 Java 通过 Spring 开发转到使用 NodeJS 开发时,总觉得代码不够优雅,虽然 NodeJS 提供了诸如 Express、koa 等非常方便的 web 服务端框架,但是由于 Javascript 没有类似与注解的语法,在开发的过程中虽然比使用 Java 开发轻便多了,但也会情不自禁得去想,要是 Javascript 也能使用注解就好了。抱着这个目的,我在网上发现了一个 Jav

2020-09-09 16:36:32 3056

原创 JS 中实现 Deep Clone (深克隆) 的思路

什么是深克隆,为什么要深克隆深克隆就是将某个对象完全复制一份与原对象无任何关联的相同对象,重新分配新的内存。为什么要使用深克隆呢,在 JS 中,对数据操作时,通常会如以下所示基本数据类型的赋值let a = 10;let b = 20;b = a; // 将 a 的值赋值给 ba = 30;console.log(a,b); // 10 30 // 对象中的基本数据类型的赋值let data = { message:'clone' };let dat

2020-08-25 17:33:01 5074

原创 使用 Docker 来迁移 CentOS 系统

最近,着手将服务器从腾讯云切换到阿里云,但是,部署在腾讯云服务器上的项目内容过于繁杂,如果在阿里云手动从头部署的话,在环境搭建和项目部署中会耗费大量的时间。在百般思筹下突然想到了 Docker,Docker 是一个容器管理的工具,详细介绍如下:Docker 官网基于 Docker 的容器机制,即可以运行不同系统环境下的容器并且相互隔离,我有了一个想法,使用 Docker 将我在腾讯云的服务器系统整体打包,然后使用打包后的文件在阿里云生成一个 Docker 镜像,从而将我原来的系统包括部署好的项目作为一个

2020-06-11 15:09:56 2153 1

原创 Lightning Component 问题汇总 - 07.12

1.子组件被引用时,父组件如果以某一变量为子组件属性赋值,子组件需要根据赋值变换进而变化需要使用 name=“change” 的 handler<!--parent--><aura:component> <aura:attribute name="a" type="String"/> <c:child childAttr="{!v.a}&quo

2018-07-12 17:40:09 639

原创 Lightning Component 问题汇总 - 07.11

1.向后台传数据时,当server-side-controller方法中接收的参数为sobject的列表时,在需要在前台上传列表的每个对象中设置:object['sobjectType'] = '指定的sobjet对象类型如:Project__c';2.在需要触发event的时候,每次使用component.getEvent('Event Name')获取的event只能被触发一次,否则会报错:e...

2018-07-12 09:56:41 723

原创 springMVC 中接收前端传递的对象、数组等数据的方式详解

1.     引言在springMVC中,controller中方法的参数是自动注入的,在使用注解的方式下,通常有:                  @RequestParam:  取querystring当中的参数                  @PathVariable:     取 在@RequestMapping中定义的占位符中的参数(/test/{id})

2017-09-19 20:18:47 58123 4

原创 在前后端分离的项目中,后台使用shiro框架时,怎样使用它的会话管理系统(session),从而实现权限控制

前后端分离的项目中,ajax跨域和保存用户信息是其中的重点和难点。如果在后台使用shiro框架来进行权限控制,就需要用到cookie+session的模式来保存用户的信息。在前一篇文章中,我具体写了怎样在ajax跨域的情况下携带cookie,使用该方法使跨域请求携带cookie便可以在前后端分离的项目中使用shrio的session(会话管理系统)。但是由于那种方法近乎与取巧的将Access-Control-Allow-Origin由*改为"null"不是所有的前端ajax框架所公认的,我们需要一种更

2017-06-19 10:17:08 65769 40

原创 在前后端分离的项目中,ajax跨域请求怎样附带cookie

在项目的实际开发中,我们总会遇到前后端分离的项目,在这样的项目中,跨域是第一个要解决的问题,除此之外,保存用户信息也是很重要的,然而,在后台保存用户信息通常使用的session和cookie结合的方法,而在前端的实际情况中,跨域产生的ajax是无法携带cookie信息的,这样导致了session和cookie的用户信息储存模式受到影响,该怎样去解决这样一个问题呢

2017-06-19 09:35:48 24892 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除