grunt-bower-task,让你得到你想要的而非全部!!!

2015-12-28 散崖 2291人已阅读

关于客户端的额脚本依赖关系,bower确实很方便管理我们一些常用类库的,而实际在使用的过程中,bower会下载一堆我们需要或者是不需要的东西,对于那些有代码洁癖的人来说,估计是不好受!所以就会想到是否可以通过构建工具得到我们想要的,而grunt-bower-task刚刚好满足了这样的需求!!!

一、建立bower.json来确定客户端依赖的脚本

{
  "name": "my project",
  "authors": [
    "“efri-yang” <“948061564@qq.com”>"
  ],
  "description": "",
  "main": "",
  "moduleType": [],
  "license": "MIT",
  "homepage": "",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "libs",
    "test",
    "tests"
  ],
  "dependencies": {
    "jquery": "latest",
    "requirejs":"latest"
  }
}

二、在shell控制台输入bower install下载客户端依赖的脚本 jquery,require.js,这时候就会看到:

002003

jquery类库中存在很多我们不想要的文件夹和文件,此时grunt-bower-task便可以拷贝我们想要的东西

三、grunt-bower-task的配置及参数的解释

module.exports = function(grunt) {
    grunt.initConfig({
        bower: {
            install: {
                options: {
                    targetDir: './libs',
                    layout: 'byType',
                    install: true,
                    verbose: false,
                    cleanTargetDir: false,
                    cleanBowerDir: false,
                    bowerOptions: {}
                }
            }
        }
    });
    require('load-grunt-tasks')(grunt);
    grunt.registerTask('bowercopy', ['bower']);
};
参数 类型 默认值 解释
targetDir String ./lib 拷贝bower默认安装包(自动过滤不必要的文件夹)到你指定的文件夹中
install Boolean true 例如:当你执行grunt bowercopy的时候,是否需要执行安装(基于bower.json)
cleanTargetDir Boolean false 在安装bower依赖管理之前是否清除targetDir
cleanBowerDir Boolean false 在拷贝需要文件到指定的目录的时候是否需要清除bower默认安装文件夹(bower_components)
copy Boolean true 拷贝bower安装包到指定的目录
cleanup Boolean undefined 如何设置为true或者是false的时候就会自动设置cleanTargetDir和cleanBowerDir是否清除
layout Boolean 或 Function byType 有两种形式:byType 和 byComponent,两者的区别就是生成的目录结构不一致,当然也可以自定义函数
verbose Boolean false 官网解释是可以拷贝输出类库的测试,测试一下感觉没有什么变化
bowerOptions Object {} 设置一些默认的项

 

 

{
   	forceLatest: true|false,  
   	production: true|false,
}

四、执行grunt bowercopy 生成我们想要的目录

004

 

交换友情链接