自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(614)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 并发执行多个 await,promiss.all

await 可以同步执行,但是有时候为了提升性能,反而需要并发多个await同步执行,此时需要用到promise.allDEMO如下async function doit() { var list = []; list.push(sayHello('a1')) list.push(sayHello('a2')); var result = await Promise.al...

2019-09-29 15:34:20 1626

原创 org.apache.commons.lang.StringUtils isBlank 与 isEmpty 的区别

System.out.println(StringUtils.isEmpty(" ")); // 返回false System.out.println(StringUtils.isBlank(" ")); // 返回true空字符串的时候 isEmpty 返回false , isBlank 返回true万事开头难...

2019-04-25 10:26:07 258

原创 javascript set去重

Array.from(new Set([“1”,“2”,“3”,“5”,“1”]));

2019-03-19 10:35:08 330

原创 SyntaxError: Unexpected number in JSON at position 1

SyntaxError: Unexpected number in JSON at position 1javascript JSON序列表,key 是int类型的时候,出错处理方法,使用正则表达式,将int类型的key 替换成字符串var a ="{2:\"全天\",7:\"测试\",8:\"1天\",9:12,10:14}";var x = a.replace(/(\d+):/g,"...

2019-03-12 14:35:20 6276

原创 Generator yield 迁移 await/async

Generator yield 迁移 await/asynces6 异步使用了await 和 async,老代码 使用了 generator 和yield ,迁移需要利用到 co.wrap 函数var co = require('co');function* oldF() { return yield new Promise(function (resolve, reject) { ...

2018-09-17 18:44:50 575

翻译 node -e 参数

https://nodejs.org/api/cli.html#cli_e_eval_scriptEvaluate the following argument as JavaScript. The modules which are predefined in the REPL can also be used in script.On Windows, using cmd.exe ...

2018-07-27 17:26:49 1068 1

原创 fetch 请求json 转 param

fetch post 请求的时候 header可以有两种选择: ‘Content-Type’: ‘application/json’, 和 ‘Content-Type’: ‘application/x-www-form-urlencoded’,当使用application/json 的时候,body直接是 JSON.stringify(paramObject) 比较简单 但当使用 ‘Co...

2018-07-19 11:22:16 1124

原创 node 使用long 类型

当有非常长的数字时候,node 会丢失精度,需要使用longnpm install long使用demovar Long = require("long");var longValueToB = Long.fromString("1152921517493863811", true);console.log(longValueToB.and(3).toString())参考...

2018-05-10 15:14:57 2822

原创 moment 当前时间取整

可以将当前时间的时分秒毫秒设置为0 取得当天00:00:00 的时间moment.clone().set({hour:0,minute:0,second:0,millisecond:0})

2018-05-08 16:09:55 5600

原创 moment getTime

// 如下返回truenew Date().getTime() == moment().valueOf();如果需要转化为Date()类型 如下结果返回truemoment().toDate().getTime()== new Date().getTime()

2018-05-04 17:23:45 1803

原创 node inspect=0

inspect=0 的含义是随机分配一个未使用的端口号码 用以调试 inspect 则固定使用 9229

2018-04-12 21:15:33 261

原创 koa 使用 decorator

在使用koa 开发网站的过程中期望使用decorator ,进行日志记录 通过babel-register + 安装npm install --save babel-plugin-transform-decorators-legacy.babelrc{ "plugins": ["transform-decorators-legacy"]}入口文件引入babel...

2018-02-12 15:54:08 1218

原创 google地图API被墙问题总结

google地图分三个1. google.cn的 httphttp://ditu.google.cn/maps/api/js 这个不会被墙,且加载的资源都是.cn 的,最好用,但是要求你的域名也是http的 如携程http http://hotels.ctrip.com/international/bangkok359 能够正常展示 但是无法使用google.maps.plac...

2018-02-12 11:06:48 14940 1

原创 NODEJS 的面向方面编程 shimmer

nodejs 有时候需要打日志,做权限验证等工作,如果希望在不修改原有代码情况下,做这些工作,可以使用shimmer https://www.npmjs.com/package/shimmervar Calculator = require('./calculator');var shimmer = require('shimmer');shimmer.wrap(Calculator

2018-01-26 16:27:02 398

原创 使用 NIM调试Nodejs 代码

查看了nodejs 的官方文档中,调试nodejs 推荐使用的是Chrome DevTools + NIMNIM插件地址:https://chrome.google.com/webstore/detail/nim-node-inspector-manage/gnhhdgbaldcilmgcpfddgdbkhjohddkj 插件会自动监听9225端口,当监听到有调试代码执行的时候,会自动

2018-01-23 14:54:37 1657

原创 使用extend 解决Object.assign 浅拷贝问题

Object.assign 是浅拷贝,如下代码,x 输出值被修改,这有时不是我们希望看到的var x = {d: {e: {g: 9}}}var a = {b: 1, c: 2, d: {e: {g: 2}}}Object.assign(a,x)a.d.e.g ="abc"console.log(x)安装npm install extend修改后代码如下,根据输出可见 x

2018-01-22 15:24:24 733

原创 nodejs 下载网络文件 使用request

var request = require('request');var fs = require('fs');request.post('https://download.site.com', { form: { param:"param" }}).pipe(fs.createWriteStream('./azip'))

2017-12-13 17:12:51 4340

原创 nodejs 使用cron-parser 解析cron 时间

如下DEMO 每5分钟执行一次其中 "0 */5 * * * *" 第一个0 表示0秒*/5 表示分钟 "/"表示每5分钟间隔“”.“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m第三个* 表示小时```var parser = require('cron-parser');try { var interval = parser.parseExp

2017-11-20 10:33:11 3539

原创 node中的 await async 入门

await async ES7 中新增的, NODE 7.5 及以后支持,以前的需要使用babel-registerfunction myP(val) { return new Promise(function (resolve, reject) { setTimeout(function () { resolve(val) }, 5

2017-11-14 12:00:05 543

原创 node Unexpected token import

node 目前默认不支持es6 的模块 import解决方法有2方法1 experimental-modules升级node 8.5 使用 experimental-modules,参数。切要求所有文件名后缀都要修改为mjs node –experimental-modules index.mjs index.mjsimport {add} from './calculator.

2017-11-13 19:07:33 3205 1

转载 MAC JAVA 1.8 与 9 版本切换

vi .bash_profile 内容如下export JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Homeexport JAVA_HOME=$JAVA_HOME_8alias jdk8='export JAVA_HOME=$JAVA_HOME_8'alias jdk9='export JAV

2017-10-31 16:33:30 3414

原创 can't find file to patch at input line 3 错误原因

执行 patch < nginx-proxy.diff 命令,将文件修改应用到文件中,报告如下错误: can’t find file to patch at input line 3 Perhaps you should have used the -p or –strip option?原因: 目标文件没有找到。也就会如下DEMO代码第一行的文件 nginx-proxy.conf 文件没有

2017-10-30 16:49:08 7314

转载 mac brew 安装pip3 采坑记录

网上文章上都说用brew 安装python3 会自带pip3 的安装 但是不知什么原因 我使用brew 安装按成python3 后并没有pip3需要手工安装 参考文档: http://blog.csdn.net/minixuezhen/article/details/72887712https://bootstrap.pypa.io/get-pip.py 打开链接,将文本存到本地,

2017-10-20 12:22:56 9591

原创 fetch post application/json 传递复杂类型

使用原始的 application/x-www-form-urlencoded,body需要是a=1&b=2&c=3 格式,无法传递复杂多层次的对象 fetch('/test/post', { headers: { "Content-Type": "application/x-www-form-urlencoded" },

2017-10-11 16:38:51 9898

原创 fetch 使用 form data 方式提交

import queryString from 'query-string';fetch 参数如下, 1.需要设置content-type application/x-www-form-urlencoded 2.body 进行param 转化为a=1&b=2 的形式 则提交到服务端的内容与post内容相同 headers: { "Content-Type":

2017-09-28 17:08:16 8857 1

原创 npm 版本的jquery.param queryString.stringify

jquery.param({a:1,b:2}) 会生成a=1&b=2 如果需要npm 版本的可以引入query-string,实现相同的功能 https://github.com/sindresorhus/query-stringimport queryString from 'query-string';const stringified = queryString.stringify

2017-09-28 17:01:38 987

原创 webpack 报错Cannot find module 'opn'

rm -rf node_modules npm install删除node_module,重新安装问题解决 原因不明

2017-09-27 21:10:38 7444 1

原创 nodejs gzip 解压缩base64

zlib 是nodejs 自带的,可以直接使用 如下代码将base64的gzip 压缩,解压出来const zlib = require('zlib');var buffer = new Buffer('H4sIAAAAAAAAAIuOBQApu0wNAgAAAA==', 'base64');zlib.unzip(buffer, function(err, buffer) { if (!

2017-09-27 07:59:09 2262

原创 webpack less-loader 的modifyVars配置方式

在module rules 中的less-loader 下配置options modifyVars。 实现 更改less 中的变量{ test: /\.less/, use: [ { loader: "style-loader"

2017-09-26 15:27:12 11800

原创 react-router withRouter

react-router 提供了一个withRouter组件 withRouter可以包装任何自定义组件,将react-router 的 history,location,match 三个对象传入。 无需一级级传递react-router 的属性,当需要用的router 属性的时候,将组件包一层withRouter,就可以拿到需要的路由信息import {withRouter} from 're

2017-09-26 14:03:10 24736 2

转载 Import in body of module; reorder to top import/first

import 必须在其它所有业务代码前面(eslint 暴出)

2017-09-26 09:54:16 7968

原创 react-router 与react-reduct 配合使用时,页面不刷新问题

参考文档:https://reacttraining.com/react-router/core/guides/redux-integration/blocked-updates异常现象点击Link url 变化但是页面不更新 出现此问题的条件: 1.使用了react-reduct 的connect 2.Router与Root 之间有 有layout布局 元素 解决办法:withRoute

2017-09-25 19:57:23 5542

原创 webpack-dev-server 支持 react-router BrowserHistory

使用BrowserHistory 的时候,由于是新地址,webpack webpack-dev-server 无法进行导航,只能404 ,可以通过设置webpack.config.js 中的devServer,设置如下 devServer: { historyApiFallback:{ index:'src/index.html' },

2017-09-25 18:04:50 2766

原创 react-router-redux 5.0 helloworld

最新版本 react-router-redux 5.0 路由DEMO使用了 redux-react,react-saga,react-router,react-router-redux 实现了路由跳转(react-router-redux)、异步数据操作(saga) import React, {Component} from 'react'import ReactDOM from 'rea

2017-09-25 16:47:30 3841 1

原创 redux-saga HellWorld入门 异步计数器(react-redux)

点击加减按钮,延迟1秒操作加减动作(模拟异步网络请求) 最终调用Action “Done” 将结果展示import React from 'react'import ReactDOM from 'react-dom'import {createStore, applyMiddleware} from 'redux'import {Provider, connect} from 'react-

2017-09-25 16:28:02 645

原创 react-react 入门 helloworld 计数器

最简单的一个react-redux 示例,实现点击加一的计数器import React from 'react'import ReactDOM from 'react-dom'import {createStore} from 'redux'import {Provider, connect} from 'react-redux'function reducers(state = 1, act

2017-09-25 12:17:34 789

原创 Objects are not valid as a React child 错误处理

Objects are not valid as a React child (found: object with keys {value, onChange}). If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object)

2017-09-25 11:55:01 31668 2

转载 javascript 读取本地txt文件

使用fileAPI 可以实现本地文件读取,可以实现将本地文件内容直接post,而不是文件本身 参考文档https://www.html5rocks.com/zh/tutorials/file/dndfiles/ <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title>

2017-09-22 10:04:32 13580

原创 webpack 升级

升级参考文档: https://webpack.js.org/guides/migrating/#automatic-loader-module-name-extension-removed最大的改动是 原来的 loaders 改成了rules 并且loader必须添加“-loader” 后缀原来的(webpack 已支持moudles) presets: [‘es2015’] 修

2017-09-18 17:21:48 2327 1

转载 webpack 升级Getting error: configuration.resolve.extensions[0] should not be empty

webpack 升级后,extensions 数组中不能使用空字符串,需要使用* 代替。 否则报错Getting error: configuration.resolve.extensions[0] should not be empty 参考文档:https://github.com/webpack/webpack/issues/3043I am not sure that this i

2017-09-18 16:33:16 3159

ClearCode代码整洁

ClearCode代码整洁 很好的书,大家看看

2012-06-11

isaisai的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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