Ahonn's BlogAhonn's Blog

给 React 组件自动加上 react-hot-loader

#Babel#React#Webpack

在 React 项目中使用 Webpack HMR 时,通常会使用 react-hot-loader 来进行局部热更新。但使用 react-hot-loader 需要对原有代码进行修改,这对多入口的老项目非常的不友好。

为了使用上 HMR 这一“激动人心”的功能,需要在构建时在原有代码上自动添加 react-hot-loader 的相关代码。 因此我们需要创建一个 webpack loader 来在 babel 处理前将 react-hot-loader 相关代码添加到源 码中。

阅读更多...

如何使用 Hammerspoon 实现剪贴板历史

#Hammerspoon#Lua

写在前面

Hammerspoon 是一款 macOS 下的自动化工具,软件本身几乎没有什么功能。所有的功能都需要以 lua 脚本的形式编写,放置在 ~/.hammerspoon 下。Hammerspoon 会通过 lua 脚本直接调用 macOS 本地提供的 API,从而实现我们想要的功能。

阅读更多...

从 @babel/register 到 require()

#Babel#Node.js

通常我们会用 babel 来将浏览器未兼容的新语法编译为兼容的代码,以便在旧浏览器或者环境下运行。 除了编译运行外,babel 还提供了 @babel/register 来即时编译运行。

如何使用 @babel/register

使用 @babel/register 的方式很简单,只需要将以下代码放在需要编译运行的代码引入前:

阅读更多...

GraphQL 学习笔记

#GraphQL

入门

  • 定义 Query 类型的 schema 进行查询
  • 为每个 API 节点提供 resolver 函数
  • 处理 GraphQL 查询
阅读更多...

2018 年终总结

#年终总结

一眨眼 8102 年都快结束了,年终总结也拖了好几天。今天晚上终于可以静下心来写一写了。

先看一下去年立下的 KPI 完成了多少...

2018 checklist

  • 跟女朋友在杭州工作生活能够顺顺利利
  • 好好赚钱,减轻父母压力,照顾好弟弟
  • 努力工作,在技术上能够更上一层楼
  • 除了读技术书籍之外,读多一些其他书 (假装完成)
  • 拓展一下兴趣爱好,学会做饭 (学会了一点点)
  • 多运动,多健身,避免久坐
阅读更多...

new Date(string) 在不同浏览器中的不同表现

#JavaScript#前端

最近在开发中使用了 moment(string).isValid() 去判断字符串是否为日期格式字符串。发现当字符串为 xxxx-1 时,在 Chrome 中 moment('test-1').isValid() 返回值为 true, 而当字符串为 test1 时则正确返回 false。而 Safari 则没有该问题,全部返回 false。

阅读更多...

JavaScript 函数式编程笔记

#FP#JavaScript

本文为 JS 函数式编程指南 笔记

函数是一等公民

当我们说函数是“一等公民”的时候,我们实际上说的是它们跟其他对象都一样,你可以像对待其他数据结构一样对待它们。

纯函数

相同的输入产生相同的输出,并且没有副作用,即为纯函数。例如 Array.prototype.slice 是纯函数,而 Array.prototype.splice 不是纯函数。

只要函数跟外界环境发生交互,就是有副作用。但并不是说要禁止副作用,函数式的编程哲学是假定副作用是造成不正当行为的主要原因。

阅读更多...

2017年终总结

#年终总结

恍恍惚惚的,又一年过去了,又到了写年终总结的时间了。

学习

说到学习,这一年学到最多的是开始慢慢的脱离某些学生思维。开始全面的思考问题,对做什么事情都先有一个计划,而不是一股脑的做。就像是编程,应该大部分时间用来思考,而编码实现只是最后的一步操作。

开始慢慢的接触一些能够提升效率的工具或者方法,例如年初开始学 vim,虽然说写代码的时候效率的瓶颈并不在敲代码的速度上,但是 vim 的确对编程的体验提高不少。

下半年开始学着用番茄工作法管理时间,提高注意力。目前来说效果还不错,就是有时候番茄间的休息我还是继续在干自己的时候,这一点做得不是很好。毕竟代码一写起来并不是那么好停的。

虽然今年不是太关注 commit,但是依旧还是有着蛮多的记录的。写得比较随性,但是因为太久不写自己会觉得堕落,觉得好像少了点什么,所以总体也只是比去年少了那么一点。

2017 commit

阅读更多...

从零开始的 Mac

#MacOS

昨天乱搞把电脑搞炸了,然后又误操作把系统格掉了。悲剧.. 除了在 Github 上的代码其他什么东西都没有了,心疼收集了那么久的电子书..

然后只能重装系统了,想想也好.. 是时候清理清理电脑了,正好借着这个机会整理一下。一开始使用简直烦到不行。没有安装罗技的鼠标驱动,鼠标按键无法打开 Launchpad,虽然可以用键盘快捷键,还是觉得很不舒服。还有一个很重点的是没有 Alfred,简直变得生活不能自理了。然后还有很多好用的工具要重新安装,找原先的 iTerm2 配色找了半天.. 所以说论备份的重要性..

阅读更多...

万恶的BOM: 与 \ufeff

#CSS#前端

最近在搞一个 Sass 文件的编译插件,主要使用 node-sass 来进行编译,在这过程中遇到一个蛮坑的小问题。

在不压缩的情况下使用 node-sass 进行编译的样式文件没有什么问题,可以正确的编译出该有的样式。可是当进行压缩时,就出了问题了。压缩后的文件莫名奇妙的在文件最开头多了几个奇怪的字符:

阅读更多...

热门推荐

从零开始制作 Hexo 主题
如何使用 Hammerspoon 实现剪贴板历史
从 @babel/register 到 require()
给 React 组件自动加上 react-hot-loader
GraphQL 学习笔记

标签

UbuntuPHPLinux知乎PythonSQL年终总结前端JadeJavaScriptUnderscore面试RubyCSSSassVueRegExpReactWeChatHexoVimKoaNode.jsReduxMacOSFPGraphQLBabelHammerspoonLuaWebpack