前端js和css的压缩合并之grunt

关于css和js压缩和合并的方法,记得我在前端面试题目中有写道。方法很多,今天主要介绍grunt方法。

使用前提

grunt是基于node的,要在你电脑上使用grunt,电脑上必须已安装node环境。具体node环境的安装和搭建。centos请看,windows安装相对简单,下载安装包安装就可以了。关于mac的安装,后面有时间在详细介绍。

新建package.json

package.json放在根目录下,它包含了该项目的一些元信息,如项目名称、描述、版本号,插件等。

{
  "name": "haorooms.com",
  "version": "v0.1.0",
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-contrib-jshint": "~0.10.0",
    "grunt-contrib-nodeunit": "~0.4.1",
    "grunt-contrib-uglify": "~0.5.0",
    "grunt-contrib-concat": "~0.5.1",
    "grunt-contrib-cssmin": "~0.12.3",
    "grunt-htmlhint": "~0.9.2"
  }
}

MAC电脑的一些常用命令

今天在我的mac电脑上操作grunt,突然发现我用命令行进不了移动硬盘了,因为我的nodejs文件是放在移动硬盘里面,mac命令行如何进入移动硬盘?

怪自己是mac的菜鸟,网上查了查,才知道桌面上看到的硬盘都挂在 /Volumes 下

为了让我这个mac菜鸟在今后mac命令行操作的时候,更快地找到相应地命令,现在总结一下MAC电脑的一些常用命令。

mac电脑常用文件位置

移动硬盘的位置 :

cd /Volumes/硬盘名字

根目录位置是:

cd   /
ls

jquery中$.proxy及wrap()的使用

jquery其实真的没有什么,关键是应用的熟练程度,面试的时候有时候会问你jquery源码研究过没有。我前段时间看了一下,其实jquery的源码写的还是满通俗易懂的。

说到应用,我今天主要说下jquery中$.proxy及wrap()的使用,因为这两个我用的比较少,今天在项目中应用了,所以拿出来说一下!

jquery中$.proxy

我们先看个例子:

//正常的this使用
$('#Haorooms').click(function() {

    // 这个this是我们所期望的,当前元素的this.

    $(this).addClass('aNewClass');

});

iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案

做touchweb开发的时候,做头疼的是,电脑上面时候好的,有些手机上面也是好的,个别手机和浏览器出现问题,对于这些,只能慢慢调试,找问题。

今天说一下比较老的IOS的问题,那就是“iOS下的 Fixed + Input 调用键盘的时候fixed无效问题”。

案例如下

<body class="layout-fixed">
    <!-- fixed定位的头部 -->
    <header>

    </header>

    <!-- 可以滚动的区域 -->
    <main>
        <!-- 内容在这里... -->
    </main>

    <!-- fixed定位的底部 -->
    <footer>
        <input type="text" placeholder="Footer..."/>
        <button class="submit">提交</button>
    </footer>
</body>

百度地图或者高德地图开发

前段时间写个html5的一个关于定位的文章,getCurrentPosition,在web端,只要你允许,就可以通过手机网页获取到你的当前坐标(经纬度)。那么获取这些坐标有什么用呢?

我现在就来说下作用,获取你当前的坐标,就可以定位你当前的位置,就可以通过百度地图或者高德地图,获取你周边的公交、餐饮、娱乐设施等等。这些设施可以在地图上展现,并可以获取到这个位置的距离,路线等等。

看了我上面的介绍,你是不是觉得这些在web端实现很困难?

错!这些在web端实现起来也很简单,只要你允许定位,我拿到你的经纬度,就可以通过百度或者高德地图的API获取到周边信息!那么下面让我们来看下地图周边的API吧!