3 HansExploration

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

CSS Modules 用法教程

作者: 阮一峰日期: 2016年6月10日学过网页开发就会知道,CSS 不能算编程语言,只是网页样式的一种描述方法。为了让 CSS 也能适用软件工程方法,程序员想了各种办法,让它变得像一门编程语言。从最早的Less、SASS,到后来的 PostCSS,再到最近的 CSS in JS,都是为了解决这个问题。本文介绍的 CSS Modules 有所不同。它不是将 CSS 改造成编程...

2019-02-11 22:04:25

Javascript实现冒泡排序与快速排序以及对快速排序的性能优化

冒泡排序介绍重复遍历要排序的元素列,依次比较两个相邻的元素,前一个元素若比后一个元素大则互换位置。以升序排序为例,最大的元素会在第一次遍历后“冒泡”到数组的末端。假如数组长度为n,在n-1次遍历后可完成排序。实现let arr = [1, 5, 2, 9, 7, 4, 2, 3, 6, 8]function bubbleSort(arr) { let time = arr...

2019-02-10 15:01:55

ES6 -- Set,reduce特性计算html中的标签类型数以及各标签的数量

let tags = document.querySelectorAll('*')let tagNames = Array.from(tags).map(tag => tag.tagName)// tag的类型数console.log(new Set(tagNames).size)// 每个tag类型各有多少个let res = tagNames.reduce((holder...

2019-02-03 11:05:06

简单实现vue中的依赖收集与响应

开始声明一个对象man,可以视为vue中的datalet man = { height: 180, weight: 70, wealth: 100000000}添加Observer作用在于将参数对象的属性变为响应式,只要对象的属性被读取或者被修改都能观察到。然后新建一个Observer实例,将man作为参数扔进去。这里的proxyData是将man的属性代理到以m...

2019-02-02 15:58:16

Vue基于“依赖收集”的响应式原理

转载自知乎用户:前端荣耀 - 李斌https://zhuanlan.zhihu.com/p/29318017每当问到VueJS响应式原理,大家可能都会脱口而出“Vue通过Object.defineProperty方法把data对象的全部属性转化成getter/setter,当属性被访问或修改时通知变化”。然而,其内部深层的响应式原理可能很多人都没有完全理解,网络上关于其响应式原理的...

2019-01-27 11:18:59

Object.defineProperty使用小记

本来想实现下vue的源码,结果刚开始就踩了个坑,记录下。let obj = { name: 'Han'}Object.defineProperty(obj, 'name', { get() { return obj.name }})控制台打了下报错说是栈溢出。原因是get方法不能直接返回obj.name,这样相当于又调用了一次get方法,然后继续返...

2019-01-26 19:40:14

html中如何引用webpack编译出来的js中的变量

js代码:class H_Vue { constructor(obj) { } }html代码:<body> <script> window.onload = () => { let a = new H_Vue console.log(a) } </script></...

2019-01-24 17:26:37

使用editorconfig配置你的编辑器

摘要:  在团队开发中,统一的代码格式是必要的。但是不同开发人员使用的编辑工具可能不同,这样就造成代码的differ。今天给大家分享一个很好的方法来使不同的编辑器保持一样的风格。  不同的编辑器也有设置代码风格的,例如我们前端人员最喜欢使用的sublime text 2编辑器。你可以在preferences中选择Settings-User,然后输入自定义的风格,比如:{  "de...

2019-01-21 17:59:00

webpack编译装饰器报错问题

Error: The ‘decorators’ plugin requires a ‘decoratorsBeforeExport’ option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you shou...

2019-01-07 12:00:46

React项目中热加载

第一步配置webpack-dev-serverconfig.devServer = { contentBase: path.resolve(__dirname, '../../dist'), host: 'localhost', port: '1111', hot: true } config.plugins.push(new webpack.Ho...

2019-01-05 20:51:28

cross-env设置NODE_ENV

1. 什么是cross-env呢?它是运行跨平台设置和使用环境变量的脚本。2. 它的作用是啥?当我们使用 NODE_ENV = production 来设置环境变量的时候,大多数windows命令会提示将会阻塞或者异常,或者,windows不支持NODE_ENV=development的这样的设置方式,会报错。因此 cross-env 出现了。我们就可以使用 cross-env命令,这样...

2019-01-05 15:45:43

Linux端口占用,nodejs 监听80端口,Error: listen EADDRINUSE

linux服务器启动node监听80端口遇到以下错误Error: listen EADDRINUSE端口被占用了查看80端口占用情况sudo netstat -apn | grep 80结果为tcp        0   0 0.0.0.0:8000      0.0.0.0:*               LISTEN      1060/ss-server  tcp        ...

2019-01-02 17:07:58

Nginx反向代理 & 设置二级域名 (CentOS)

nginx 配置whereis nginx/usr/sbin/nginx -> 执行文件/etc/nginx/conf.d -> 自定义.conf文件的存放位置常用操作举例:重启:$ /usr/local/nginx/sbin/nginx –s reload停止:$ /usr/local/nginx/sbin/nginx –s stop...

2018-12-29 10:50:33

centos添加全局变量

今天重装了服务器上的系统,由ubuntu16.04换成了centos7.4,在装完nginx后,执行下面命令时:nginx -tnginx -s reload报错:nginx不是命令,无奈只能使用/usr/local/nginx/sbin/nginx -t/usr/local/nginx/sbin/nginx -s reload这样每次都挺麻烦的,解决这一问题的方法是将ng...

2018-12-28 17:39:22

vue $emit子组件传出多个参数,如何在父组件中在接收所有参数的同时添加自定义参数

前言很多时候用$emit携带参数传出事件,并且又需要在父组件中使用自定义参数时,这时我们就无法接受到子组件传出的参数了。找到了两种方法可以同时添加自定义参数的方法。方法一子组件传出单个参数时:// 子组件this.$emit('test',this.param)// 父组件@test='test($event,userDefined)'方法二子组件传出多个参数时...

2018-12-26 17:18:08

Fetch / ajax 不能获取response中的所有headers的解决方法(适用nginx)

来源: https://www.aliyun.com/jiaocheng/123788.html起因 笔者在用Fetch进行react开发的时候用到了chrome跨域插件Allow-Control-Allow-Origin: *, 因为后端和前端的开发是同时进行的, 并且不在同一台机子上. 为了能够在前端方便地调试后端api, 我使用了这个插件. 姑且是能够进行cors请求了. 但...

2018-12-18 10:11:20

基于 Token 的身份验证:JSON Web Token

最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。文章先介绍了一下传统身份验证与基于 JWT 身份...

2018-12-17 18:02:37

fetch的get和post传参

转自 https://blog.csdn.net/dylan_zeng92/article/details/75371034?utm_source=blogxgwz8原生get请求是在网址链接后加上?key=value&key=value进行传参。原生fetch中一般用法为fetch(url,{配置}).then((res)=>{}).catch((res)=>{}); ...

2018-12-17 10:16:22

彻底理解js中的&&和||

来源: https://www.cnblogs.com/sgzs/p/7977208.html javascript中,&&和||的用法比较神奇,经常用在对象上,例如a || b,如果a不存在,则返回b。a && b,如果a存在,则返回b,否则返回a。光这样看,感觉他的概念还挺复杂的,这样去想的话,不但会在脑子里多出一个无用的概念,而且越记越混乱。看问题还是...

2018-12-15 19:32:11

webpack中html-webpack-plugin插件的使用(生成多个html页面,引入不同的js文件)

版权声明:    https://blog.csdn.net/lhjuejiang/article/details/80216020  (转载源地址)以html-webpack-plugin插件为例1、先安装插件,在命令行中输入:npm  i -D html-webpack-plugin(执行完之后,在package.js的devDependencies中就多了下面的代码"html-we...

2018-12-13 14:39:20

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得