Yang
Yang
thanks to the author i am very fond of this tool if you have more clearly detail examples
降到2.7.0版本后正常
Hello, I like you to write a tool (Ladda), But I met a doubt in use, I found that when using Ajax to submit the form, in the request after...
# dva 1.x => 2.x > 记录自己在升级dva到2.x中遇到的问题,如果发现写的不对的地方请不要笑,及时沟通,新手司机上路 ^_^ > [参考资料](https://github.com/sorrycc/blog/issues/48) ## 问题一:location.query > 由于`history`版本变动,location不在包含有query对象,需要手动处理 ```bash yarn add query-string ``` ```javascript import queryString from 'query-string'; history.listen((location) => { const query =...
关于Koa
> 记录自己在使用koa的时候遇到的问题和解决办法 ### 文件上传 跨域 > 工作中有个需求需要自己实现一个文件上传来测试React的一个图片上传组件 参考资料: [官方关于文件上传的demo](https://github.com/koajs/examples/blob/master/upload/app.js) [官方关于跨域的解决方案](https://github.com/koajs/cors) 实现方式就是在官方文件上传的基础上修改几行代码实现跨域文件上传 > 官方demo中文件上传后是直接跳转了,这里我修改了返回json格式的响应内容,可把文件名放进去实现前端暂时上传成功的图片 ```javascript // const stream = fs.createWriteStream(os.tmpdir(), Math.random().toString())); const stream = fs.createWriteStream(path.join(`${__dirname}/public/tmp/`, file.name)); reader.pipe(stream); console.log('uploading %s -> %s',...
_这个 Blog 我选了一个我很不熟悉的技术栈 Gatsby,这应该算是就是跳出舒适圈吧。_  先说说我的诉求,我希望我的 Blog 可控性比较高,这样方便我做一些自己想做的事情。然后我希望它尽可能的简洁跟简单,个人有点极简主义。然后我希望 Blog 的内容使用 MarkDown 编写,最后我希望它可以自动部署,我 push 到 Github 就可以自动发布。 好吧,就这些,让我们开始吧。 ### 基础架构 [Gatsby](https://github.com/gatsbyjs/gatsby) 是一个很优秀的基于 React 的开源架构,使用它,你可以很简单很快速构建你的网站,它已经帮你做了很多事情,比如静态化页面、统一的数据获取方式等。我很久前就有学习它的计划,但一直搁置,这次我选择使用它。 使用 Gatsby 跟我使用之前的 React 架构最大的区别应该是在数据资源层上,Gatsby 有一个内置的数据层,是基于 [GraphQL](https://graphql.org/)...
_代码片段可以让我们有更好的编码体验,但使用第三方代码片段总有一些自己不想要的副作用,所以我们何不自己创建一个符合自己编码习惯的代码片段库呢_  ### 起因 我在写 `React` 跟 `JavaScript` 的时候喜欢用一些代码片段(`Snippets`),因为这样可以让我的专注点集中在代码逻辑和业务逻辑上,而不用过多的去回忆各种语言的特效跟语法,并且这种事情往往都是重复工作。 比如最常见的语法:  我们在开发过程中往往需要多次敲击它来协助我们定位一些问题,虽然我没做明确的统计,但我觉得如果开发过程中这样类似的语法全部自己手写,那会浪费很多时间。 可能大多数人在这里会想到第三方代码片段库,其实我也是一样的。但我在使用了一段时间后发现,第三方库往往有一些不符合我的使用习惯的 Snippets 会影响我正常开发,比如这种情况:  我的意向是输入 `p` 标签,然后通过 `tab` 键来补全语法,但这些第三方库的副作用 `Snippets` 让我必须先按 `esc` 关闭这个提醒窗口后再按 `tab` 继续我的代码编写。 这导致我在日常编码中经常按错,耽误很多时间,对于我这种有轻度代码洁癖的人而言,这是一种煎熬,所以我一定要解决这个问题。 ### Snippets...
我喜欢旅游,偏向自然风光的旅游,但我是一个程序员,到目前为止,大多数时间只能在办公室里度过,所以在我很累或者很闲的时候,我总是习惯去看看风景图片,遐想着有一天我能去那些地方旅游。  国内的网站都商业化比较严重,质量高又免费的比较难找,思来想去,还是自己做一个。正巧一个好朋友在学习瀑布流布局方式,然后我突发奇想说来一场比赛,看谁能更快的构建一个瀑布流网站,所以这个[网站](http://39.108.94.69:9001/)应运而生。 还是先说一下诉求,我希望做一个可以看高质量图片的网站,图片能自动更新,加载方式用瀑布流,网站整体要比较清爽、极简。好像就这么多,让我们开始吧。 因为这个网站的核心技术点是数据源跟瀑布流布局,所以这篇 blog 重点说这两个事情。 ### 数据源 数据源的问题我找了比较久,最开始打算用 [https://picsum.photos/](https://picsum.photos/) 这个数据源,但后来在使用过程中发现图片更新比较慢,而且如果用随机的方式的话要自己考虑去重问题,就放弃了。最后找来找去,还是选择用 [https://unsplash.com/](https://unsplash.com/) ,主要是它的图片质量跟更新频率都很优秀,然后图片都是免费的,不会有版权问题。但伴随而来了一个新问题,图片读取速度。 ### 桥接数据 因为 unsplash 的站点在国外,所以在国内打开会很慢,好像没有很好的解决这个问题的办法,我最终用了一个很蠢的办法,利用自己的 vps 做一个桥接。简单来说就是我在我的 vps 服务器上起了一个服务,通过这个服务器做数据流的桥接,这样图片访问速度就达到了一个可以接受的程度。核心代码如下: ```js app.get("/api/xxx", (req, res) => { request.get(req.query.path).pipe(res)...
*写这篇blog的原因在于我今天早上在看一篇文章的时候,忽然想通了一个很久前别人问我的关于redux的问题,想一想,觉得还是记录下来,然后顺便再捋一捋redux相关的内容* ### 为什么要写那么多不同的reducers,而不是写一个,想存什么就传什么 我现在的答案是:**为了增加改变数据状态的成本** *抽空来完善这个问题*