安装过程

  • 安装nodejs
  • 安装grunt,bower,yoeman

命令:(-g 表示全局安装,否则安装到当前目录下)

npm install -g grunt-cli

npm install -g yo

npm install -g bower

删除已安装:

npm unintall -g yo

yoman -- “脚手架”

  • 针对不同web工程,安装相应yoman“脚手架”生成器,eg:angular工程

npm install -g generator-angular

  • 创建项目文件夹(注意不要有-,空格等其他符号)

mkdir testAngular

cd testAngular

  • 生成angular项目,eg:项目名称为“angularProject”

yo angular angularProject

  • 查看node项目,查看package.json文件,包含生成项目基本信息。

name为项目名称,而非所在文件夹名称,version为版本号,dependencies为项目运行需要的依赖环境,devDpendencies为项目开发所需要的依赖环境。^表示版本宽松依赖,主版本号符合即可,再执行npm install会自动更新为最近的版本。~表示最小的版本号更新。

文件功能

  • node-modules:存放项目开发时需要的依赖环境
  • test:测试时使用的文件
  • editorconfig:代码风格设置

其他命令

  • ls(显示文件夹下文件列表)
  • clear(清屏)
  • rm (删除)
  • touch (新建一个文件)

bower -- 包管理工具##

bower是一个包管理器,可以安装需要的框架开发包,eg:jquery

bower install jquery

安装组件包

bower install bootstrap

如果组件比较小众,没有在bower注册,可按以下方式安装:

  • github短语安装

如图是jquery在github的短语名,假设jquery没有在bower注册,可以用以下命令安装它

bower install jquery/jquery

  • 通过项目完整github地址安装

bower install https://github.com/jquery/jquery.git

  • 直接通过url安装

bower instal http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js

bower init

在当前文件夹下生成bower.json文件,根据bower.json文件安装所需的组件和包

bower init

将工具包安装成devDenpendencies

bower install angular --save-dev

将工具包安装成运行环境依赖

bower install angular --save

.bowerrc


{
"directory":"bower_components",
"proxy":"http://prox.aaa.com:8080", //代理
"https-proxy":"http://prox.aaa.com:8080",
"timeout":60000 //单位毫秒
}

grunt

grunt中task,option,target的举例



compass为一个task,opitions说明具体完成什么操作。dist和server都是target,表示该task针对谁。

运行单个task,eg:tast为compass

grunt compass

只针对某个target运行单个task

grunt compass:dist

将task组合起来,一起运行,在Gruntfile.js中有最后的配置:

grunt build

老项目如何整合grunt

  • 创建项目文件夹以及文件
  • 创建package.json

npm init

npm install grunt --save-dev

npm install grunt --save

  • 安装load-grunt-tasks插件

npm install load-grunt-tasks --save-dev

  • 安装time-grunt插件

npm install time-grunt --save-dev

  • 编写Gruntfile.js文件

npm install grunt-contrib-copy --save-dev 官方文件拷贝

npm install grunt-contrib-clean --save-dev 官方文件删除

Gruntfile.js文件中添加copy和clean两个target

开源协议

MIT BSD ISC Apache GPL

查看端口占用

列出端口

netstat -ano

搜索目的端口

netstat -aon|findstr "49157"

搜索目的端口对应PID指向的应用

tasklist|findstr "2720"

grunt命令

  • grunt serve
  • grunt serve --allow-remote 包括以下几个小task:
  • wiredep:根据bower.json配置项目依赖,在相应html等文档中加入引用连接
  • cocurrent:server: 把sass文件编译成css文件,复制到.tmp文件下
  • autoprefixer: 添加厂商前缀
  • connnect:livereload
  • watch:监听本地文件修改

[工具]前端自动化工具grunt+bower+yoman的更多相关文章

  1. 前端自动化工具gulp自动添加版本号

    之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时 ...

  2. 学习安装并配置前端自动化工具Gulp

    Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...

  3. Node.js前端自动化工具:gulp

    前端自动化工具 -- gulp 使用简介 gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是 ...

  4. 前端自动化工具 -- grunt 使用简介

    grunt作为一个前端构建工具,有资源压缩,代码检查,文件合并等功能. 下面就简单了解grunt的使用. 一.环境配置 grunt是基于nodejs的,所以需要一个 nodejs 环境,未了解的可以  ...

  5. 前端自动化工具 -- Gulp 使用简介

    gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用 ...

  6. gulp 前端自动化工具

    一开篇 在前端开发的过程中,我们经常会碰到压缩.合并.图片script 等,于是就有了gulp 前端自动化构建工具,它能帮你在前端开发中,节省时间. 1,安装 node.js 因为gulp 构建工具是 ...

  7. 前端自动化工具 -- gulp https://angularjs.org/

    gulp是基于流的前端自动化构建工具. gulp是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用. 同样的,也是包括基本用法和各插件的使用. 二.基本用法--插件使用 gu ...

  8. 前端自动化工具 gulp

    最近一个项目才接触这些自动化工具 webpack gulp grunt 等等.. webpack 可以引入模块 和 压缩 gulp 和 grunt 可以压缩 这里只说下gulp  因为项目里只用到gu ...

  9. 安装并配置前端自动化工具-gulp

    由于现在前端自动化已经很有必要了,所以我今天死皮烂脸的找了2位前端大咖帮助我安装和配置gulp,讲真,这一步步弄下来直到安装配置成功,到现在还是迷迷糊糊,不过我还是把这些步骤给记录下来,以防下次不记得 ...

随机推荐

  1. C++中的位域(bit-filed):一种节省空间的成员

    转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/16/90211.html 有一种被称为位域(bit-field) 的特殊的类数据成员,它可以被 ...

  2. I - Navigation Nightmare-poj 1984

    约翰和他的邻居生活在一个村庄里,他们的道路修建的很特别,都是正东正西或者正南正北,但是呢他们用一种方式描述他们和邻居的位置,比如说 6号 在1号 东面13处,那么我们就可以计算出来这两家的曼哈顿距离, ...

  3. fedora19安装jdk

    1.下载安装包 去oracle下载jdk-7u45-linux-i586.rpm 2. 更改权限 #chmod 777jdk-7u45-linux-i586.rpm 3. 安装 #rpm -ivh j ...

  4. HTTP学习笔记6-请求报头

    29,请求报头: 请求报头允许客户端向服务器端传递该请求的附加信息以及客户端自身的信息. 30,Accept: Accept请求报头域用于指定客户端接受哪类型的信息,例如:Accept: image/ ...

  5. android:ellipsize的使用

    EidtText和textview中内容过长的话自动换行,使用android:ellipsize与android:singleine可以解决,使只有一行. EditText不支持marquee 用法如 ...

  6. Robotium API -- 除click/clickLong外的其他操作

    拖动操作 void drag (float fromX, float toX, float fromY, float toY, int stepCount) 选定两个位置,进行拖动操作(这里的拖动操作 ...

  7. Android TableLayout 常用的属性介绍及演示

    TableLayout经常用的属性是: 1.android:collapseColumns:以第0行为序,隐藏指定的列:把android:collapseColumns=0,2 意思是把第0和第2列隐 ...

  8. Meth | ubuntu下安装与卸载软件方法

    1.通过deb包安装的情况: 安装.deb包: 代码:sudo dpkg -i package_file.deb反安装.deb包:代码:sudo dpkg -r package_name 2.通过ap ...

  9. 通过模拟器和ida搭建Android动态调试环境的问题

    这几天在学Android的native层逆向.在按照教程用ida搭建动态调试环境时,第一步是把android_server 放到手机里执行,但是在手机里可以,在genymotion模拟器上就提示 no ...

  10. Dijkstra算法and Floyd算法 HDU 1874 畅通工程续

    Dijkstra算法描述起来比较容易:它是求单源最短路径的,也就是求某一个点到其他各个点的最短路径,大体思想和prim算法差不多,有个数组dis,用来保存源点到其它各个点的距离,刚开始很好办,只需要把 ...