小虾虎鱼

小虾虎鱼

Ubuntu使用阿里云源安装Mongodb

打开Mongodb官方安装文档,按照这个文档的步骤是可以正常的安装的。但是在国内Linux安装速度很慢很慢,此文章只是用来记录使用阿里云源安装Mongodb。安装步骤:

1. Import the public key used by the package management system.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
 2017/07/18 21:52 阅读全文 »

webpack2自定义插件修改输出的内容

前几年火爆的seajs如今慢慢的要被淘汰了,随着webpack出来后,seajs和requirejs都逐渐的被取代了。 最近一个老的项目要增加一个比较复杂的功能,如果按照以前的写法,这个功能写完后这个js文件应该有过千行代码(曾经很以为荣的写过千行代码的js文件,现在回头看看就是挖坑)。为了使代码更容易阅读,就用上了webpack。 由于项目是前两年用seajs写的,那么打包出来的内容必须是这样的:

define(function(require,exports,module){
    /// ... 代码
});

nodejs v8中使用util.promisify()

如果你曾经使用Javascript,你必须有经验的回调。Javascript以其内置的异步哲学而闻名。从标准内置模块到其他框架和库,回调无处不在。这就是在Javascript中完成异步编程。但是回调有一个黑暗的一面。这叫Callback Hells

回调地狱的解决方案是Promises。而不是通过回调同步返回值或传递结果,我们可以返回一个Promise,我们将来会返回一些值或错误。 有许多像好的库如Bluebird和Q可以用来处理Promise。但是内置的模块和很多其他库不能使用Promises。这些库能够将传统的回调方法转换为Promise,在Node v8中我们现在可以使用util.promisify来处理回调方法。根据Node.js的文档:

util.promisify 采用常见的Node.js回调方式,即以(err,value)=> ...回调为最后一个参数,并返回一个Promise。

 2017/06/10 22:37 阅读全文 »

在网页中安装iOS APP的一些记录

在网页中进行安装IPA,需要两个条件:

  • 有一个plist文件;
  • 必须通过https访问plist
 2017/04/08 00:17 阅读全文 »

在webpack中使用UglifyJsPlugin压缩js后在IE8中存在问题

使用webpack打包js,并使用UglifyJsPlugin插件进行压缩js代码,用起来确实很方便。然而代码都打包压缩好后,放到ie8中测试页面功能不正常,打开控制台没发现有js报错,IE9中测试时OK的。取消uglify压缩代码在IE8中再测试是正常的,因此基本上可以确定问题是出在uglify压缩这里。

虽然知道了问题的所在,但找出问题并非易事。所以我直接将webpack升到2.0版本进行打包压缩,问题还是没解决(后来从GitHub上了解到webpack2.0不支持ie8,醉了,又降回了1.x版本)。

最后根据功能的不正常一步一步排查问题,初看压缩后的代码,可能跟我的写法相关,因为看到压缩后的变量有被覆盖,所以尝试修改代码的写法,最后还是解决了。

 2017/01/08 18:15 阅读全文 »

Knockout中ko.utils中处理数组的方法集合

每一套框架基本上都会有一个工具类,如:Vue中的Vue.utilKnockout中的ko.utilsjQuery直接将一些工具类放到了$里面,如果你还需要更多的工具类可以试试lodash。本文只介绍一下Knockout中ko.utils中处理数组的一些方法。