总结:Mac前端开发环境的搭建(配置)

现在是2018年1月26日星期五,原文写于2016年1月,时隔两年,文章内的很多内容插件或多或少都有更新,

很多人在参考配置的时候也或多或少的遇到些问题,我这里在重新走一遍流程并将文档更新下,如果遇到什么问题可联系我。


新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的)。macbook air,身上已无分文。。。接下来半年的房租都不知道该怎么半了,都怪消费太冲动。

不过,眼下需要解决的不是房租问题,而是在新电脑上搭建开发环境,正好在搭建的时候总结一下:

1、科学上网工具:lantern

科学上网工具不是必须的,如果你想安装的话下面是Git地址,可进入安装

地址:蓝灯(Lantern)最新版本下载

2、命令行工具:iterm2

建议安装该命令行工具,前端开发中会遇到各种通过命令行的形式来完成操作的工具,所以一款好的命令行工具是非常必须的。

官网:iterm2

虽然mac自带终端,也不是很难看,但功能不是很多,term2是mac上非常好的一款命令行工具,可以完全替代系统自带的终端。term2具有很多优点:

  • 1、选中即复制,不用command+c了;
  • 2、全文查找并高亮显示:command+f
  • 3、方便的分屏显示:垂直分屏:command+d,水平分屏:command+shift+d
  • 4、自定义快捷键
  • 5、强大的界面自定义,设置配色方案,透明背景,等等
  • 6、其他功能,我还没有体验到的

我主要做了两个配置如下(如下是我的界面截图):

  • 打开全屏(Preferences - Profiles - Window - Settings For New Windows)
  • 背景透明度(Preferences - Profiles - Window - transparency)

3、终端软件包管理工具:brew

homebrew工具建议安装,因为后面会有一些工具的安装就是使用的brew

官网:Homebrew

就和ubuntu下的apt-get功能类似,可以很方便的管理软件。

安装方式,直接在终端里输入:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

运行完即可安装软件了,安装方式和apt-get相同:

sudo brew install xxx

4、终端复用工具:tmux

tmux是一款终端复用软件,我第一次发现他的神奇之处是在实习的时候,别人在电脑上敲的命令在我的屏幕上竟然可以同步显示,就和直播一样,简直不可思议。后来换了单位以后用到的较少了,分屏切换主要在iterm2上进行了,不过,该工具依然特别好用。

官网:tmux

可以直接通过brew安装:

sudo brew install tmux

以下是tmux的部分优点:

  • 可横向和纵向分割窗口
  • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一
  • 可在多个缓冲区进行复制和粘贴
  • 可通过交互式菜单来选择窗口、会话及客户端
  • 提供了强劲的、易于使用的命令行界面

5、安装node、npm、git

这三款工具是必安装的,大部分前端工具都依赖Node,npm是node自带的包管理器,git是版本管理工具

直接通过brew安装即可,我没有尝试,我是通过官网下载的程序安装的。安装node自带npm,git貌似系统自带。

brew install node
brew install git

6、zsh安装on my zsh

建议安装,可以让命令行界面更美观,此外配合autojump使用功能会更强大。

有时候会发现执行命令时前面一串系统自带的字符串很长,想移去,此时久可以用zsh

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

zsh的强大之处在于可以自定义快捷键。比我,我要执行webpack,但是每次都要输入webpack太麻烦了,就算为了节省力气,使用webpack --watch,也要输入很长的命令,而通过wp则简单的很:

只需在~/.zshrc中输入以下规则即可。

alias wp='webpack'
alias wpw='webpack --progress --colors --watch'
alias wps='webpack-dev-server --progress --colors'

这样,我们直接在命令行中输入wp就是执行的webpack,输入wpw,即启动了观察模式,输入wps,则启动了服务器,是不是很简单?!

7、autojump

强烈建议安装使用

和zsh结合使用,功能更强大,比如如果我要进入一个很深的目录,我需要不断的cd才可以,但是通过autojump,我可以直接使用如下命令:

比如目录机构为:

a/b/c/d/e

强大的跳转命令:

j e

这样搞是不是很爽?


备注:下面是Vim的配置,如果对vim不熟悉也可以不用vim,本地开发直接使用相应的编辑器就可以了,但是如果是服务器开发的话,vim就是必须品了,建议大家熟悉一些vim命令,技多不压身啊。

8、vim包管理工具vunble

看个人喜好安装。相信大家也都听说过Vim的名气,如果是在本地开发的话可以不用安装vim的各种插件及配色方案,当然如果你习惯使用vim除外

接下来就是配置vim编辑器,首先是Vundle,即bundle,vim的插件管理工具

Ggithub:Vundle.vim

安装vunble:

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

然后,在~目录下新建.vimrc,输入:

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'

然后,退出vim的编辑模式,输入:BundleInstall(注意前面要有冒号),此时插件开始安装。

9、配置vim

这里推荐一下我收集的一个前端VIM配置方案https://github.com/Gavin-YYC/vimrc

前面已经安装了vunble,那么其他的插件安装变得更简单,先来进行一些简单的vim配置:

set nu              " 显示行号
syntax on " 语法高亮
autocmd InsertLeave * se nocul " 用浅色高亮当前行
autocmd InsertEnter * se cul " 用浅色高亮当前行
set ruler " 显示标尺
colorscheme molokai " 设置配色方案 molokai
set autoindent " 设置自动缩进
set backspace=2
set nowrap " 不自动换行
set tabstop=4 " tab相当于四个字符
set softtabstop=4 " 按一次tab前进4个字符
set expandtab " 用空格代替tab
set ai! " 设置自动缩进
set cindent shiftwidth=4 " 缩进的字符个数
set hlsearch " 高亮搜索的关键字
set ignorecase " 搜索忽略大小写
set history=100 " 设置命令历史行数

10、vim配色方案molokai

Github:molokai

配置很简单,在~/.vim/colors下,复制进去molokai.vim即可。

11、vim安装插件

通过vunble安装:

.vimrc中,输入:Bundle 'mattn/emmet-vim',然后退出编辑模式,输入:BunbleInstall即可,如果没有,则推出vim重新进入,在执行安装命令。

12、编辑器的选择

前端开发中最常用的编辑器如下:

我本人用过其中的三个,最后使用的是Atom,也已经用了两年多的时间,编辑器之间没有谁好谁坏,适合自己的就是最好的。

总结:Mac前端开发环境的搭建(配置)的更多相关文章

  1. Mac Android开发环境变量的配置(java、sdk、ndk、gradle)

    1.打开terminal 2.然后输入 vi .bash_profile 后按"e"进入编辑模式 3.输入想要配置的环境变量(Java.sdk.ndk.gradle): expor ...

  2. 前端开发环境webstorm搭建

    1. 下载node.js https://nodejs.org/en/ 2. 安装 webpack 用管理员开个命令行 (mac: open terminal) npm install webpack ...

  3. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  4. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  5. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...

  6. 用 Docker 快速配置前端开发环境

    来源于:http://dockone.io/article/1714 今天是你入职第一天. 你起了个大早,洗漱干净带着材料去入职. 签了合同,领了机器,坐到工位,泡一杯袋装红茶,按下开机键,输入密码, ...

  7. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

  8. 用grunt搭建自动化的web前端开发环境-完整教程

    原稿:http://www.cnblogs.com/wangfupeng1988/p/4561993.html#!comments jQuery在使用grunt,bootstrap在使用grunt,百 ...

  9. 用grunt搭建自动化的web前端开发环境

    用grunt搭建自动化的web前端开发环境 jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发 ...

随机推荐

  1. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  2. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  3. 用scikit-learn学习主成分分析(PCA)

    在主成分分析(PCA)原理总结中,我们对主成分分析(以下简称PCA)的原理做了总结,下面我们就总结下如何使用scikit-learn工具来进行PCA降维. 1. scikit-learn PCA类介绍 ...

  4. SSH实战 · 用spring框架下的hibernatetemplate的get方法出现的问题

    用get方法查询:      return this.getHibernateTemplate().get(Product.class, pid); 出现错误为:id to load is requi ...

  5. 尝试asp.net mvc 基于controller action 方式权限控制方案可行性

    微软在推出mvc框架不久,短短几年里,版本更新之快,真是大快人心,微软在这种优秀的框架上做了大量的精力投入,是值得赞同的,毕竟程序员驾驭在这种框架上,能够强力的精化代码,代码层次也更加优雅,扩展较为方 ...

  6. How those spring enable annotations work--转

    原文地址:http://blog.fawnanddoug.com/2012/08/how-those-spring-enable-annotations-work.html Spring's Java ...

  7. AFNetworking 3.0 源码解读(八)之 AFImageDownloader

    AFImageDownloader 这个类对写DownloadManager有很大的借鉴意义.在平时的开发中,当我们使用UIImageView加载一个网络上的图片时,其原理就是把图片下载下来,然后再赋 ...

  8. 代码的坏味道(20)——过度耦合的消息链(Message Chains)

    坏味道--过度耦合的消息链(Message Chains) 特征 消息链的形式类似于:obj.getA().getB().getC(). 问题原因 如果你看到用户向一个对象请求另一个对象,然后再向后者 ...

  9. the Zen of Python---转载版

    摘自译文学习区 http://article.yeeyan.org/view/legendsland/154430 The Zen of Python Python 之禅 Beautiful is b ...

  10. Android系统默认对话框添加图片

    开发工具Android Studio 今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说, 看效果: 创建XML文件dialog_lsit_item.xml <L ...