在上篇文章里面咱们说到了Github帐号的申请与配置前端
那么当你有了Github帐号并建立了一个本身的Github项目以后,首要的固然是搭建本身的项目框架啦!node
本人对本身的定位是web前端狗,经常使用开发框架是angular,因此在这里主要说Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架。git
什么是Yeoman?angularjs
Yeoman是Google的团队和外部贡献者团队合做开发的,他的目标是经过Grunt(一个用于开发任务自动化的命令行工具)和Bower(一个HTML、CSS、Javascript和图片等前端资源的包管理器)的包装为开发者建立一个易用的工做流。github
Yeoman的目的不只是要为新项目创建工做流,同时仍是为了解决前端开发所面临的诸多严重问题,例如零散的依赖关系。web
Yeoman主要有三部分组成:yo(脚手架工具)、grunt(构建工具)、bower(包管理器)。这三个工具是分别独立开发的,可是须要配合使用,来实现咱们高效的工做流模式。npm
Yeoman特性编程
闪电般的初始化:项目开始阶段,能够基于现有的模板框架(例如:HTML5 Bolierplate、Twitter Bootstrap)进行项目初始化的快速构建。json
了不得的构建流程:不只仅包括JS、CSS代码的压缩、合并,还能够对图片和HTML文件进行优化,同时对CoffeScript和Compass的文件进行编译。gulp
自动编译CoffeScript和Compass:经过LiveReload进程能够对源文件发生的改动自动编译,完成后刷新浏览器。
自动Lint代码:对于JS代码会自动进行JSLint测试,确保代码符合最佳编程实践。
内置的预览服务器:再也不须要本身配置服务器了,使用内置的就能够快速预览。
惊人的图片优化:经过使用OptiPNG和JPEGTran来优化图片,减小下载损耗。
杀手级包管理:经过bower search jQuery,能够快速安装和更新相关的文件,再也不须要打开浏览器本身搜索了。
PhantomJS单元测试:能够很是方便的使用PhantomJS进行单元测试,一切在项目初始的时候都准备好了。
Yeoman安装前的准备工做
检查系统中是否安装了:Node.js、Ruby、Compass。
Mac下安装Node.js很是方便,首页提供了一个pkg下载,双击后能够默认安装node、npm到/usr/local/bin下,咱们只须要确保/usr/local/bin包含在PATH变量中就能够。
Mac Mountain Lion 下自带了Ruby,因此也就不须要再单独安装了。
Compass安装须要依赖于Ruby Gems,执行下面的步骤:
$sudo gem update --system $sudo gem install compass
安装Yeoman
环境准备好以后,就能够进行安装了,执行:
$sudo npm install -g yo
安装成功后,会看到下面的提示:
安装生成器(generator)
安装好yo 以后呢,咱们须要在安装咱们须要的生成器,什么是生成器呢?其实就是项目模板,而Yo只是建立这模板的指挥员而已
因此,咱们须要选择咱们复合需求的生成器,官网里已经有不少已经搭建好的生成器,详情
而命令也很简单,今天咱们主要用gulp-Angular这个生成器
在这以前,先安装依赖的gulp和bower
$sudo npm install -g yo gulp bower
而后,安装生成器
$sudo npm install -g generator-gulp-angular
运行生成器
安装完成后,咱们先建立一个咱们的项目目录(最好与github上面的仓库同名),并进入目录
$mkdir 文件名 && cd $_
而后运行咱们的生成器
yo gulp-angular
以后只要按照terminal里面给出的提示选择咱们须要安装的包就能够了
gulp-Angular生成器解析
执行完以上步骤之后,文件目录应该大体以下:
若是没有bower_componets或者node_modules目录,那就须要手动安装了,执行
$npm install // 生成node_modules $bower install // 生成bower_componets
bower_componets: bower.json中的依赖包目录
e2e: 测试目录
gulp: gulp配置目录
node_modules: package.json里面依赖包目录
src: 源文件目录(也就是咱们主要编码,处理过的)
.bowerrc: bower配置文件,能够设置安装位置
.gitignore: 配置Git上传时忽略文件名
bower.json: bower 安装的依赖配置
gulpfile.js: gulp 运行的入口文件,和makefile同理
karma.conf.js: karma 测试文件
package.json: npm 安装的配置
protractor.conf.js: Angular 专门的测试框架
接着,在项目根目录执行
$gulp
会多出.tmp和dist目录
.tmp: 处理过程的临时文件
dist: 进行各类注射,压缩等处理后的项目文件
将初始化好的前端项目框架push到github远程仓库
首先在文件目录下输入
$git init
将其初始化为一个git本地仓库
而后输入
$git remote add origin 你须要链接的远程仓库的HTTPS/SSH
将你的本地仓库与远程仓库链接起来
此时没有报错说明链接成功了,那么咱们就继续进行下一步
$git pull
$git add .
$git commit -m "init"
$git push origin master
git pull 是先把远程仓库的最新变更更新到你的本地工做区去,不然没法提交本地工做区的更新代码。
git add . 的意思是监控工做区的状态树,把工做时的全部变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
使用git commit 的缘由是Git 每次提交代码,都要写 Commit message(提交说明),不然就不容许提交。上面代码的-m
参数,就是用来指定 commit mesage 的,上文例子中的Commit message为“init”。
git push origin master的意思就是上传本地当前分支代码到master分支。git push则是上传本地全部分支代码到远程对应的分支上。
这样你的远程仓库也会有你搭建好的angularjs前端项目框架啦,你就能够跟你的小伙伴一块儿愉快地合做啦(撒花)