0.2.7 • Published 9 years ago

ngfis-command-install v0.2.7

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

ngfisbower生态模块安装插件

NPM Version

为何不直接用bower

当前社区的模块质量良莠不齐,很多类库都不符合bower.json-spec,的规范,仓库里面经常有很多源码垃圾文件,甚至很多模块安装之后不可用或者根本安装不上。

@fouber 也曾多次提到「模块生态及版本管理是一个细思恐极的问题」, 所以scrat选择的方案是「自建高质量的小范围生态」。 对于社区的模块, 采用travis同步方式, 参见transform.js

不过作为angular的拥护者, 丢弃bower总是觉得可惜, 同时发现angular的周边模块质量相对好一点。

于是经过多次的反复纠结,于是编写了该组件,可以较完美的满足我的需求。

安装说明

需配置fis使用,可以参见ngfis项目。

npm install ngfis-command-install --save

使用说明

  • ngfis install
  • ngfis install bootstrap zepto
  • ngfis install angular-mocks --save-dev

支持的参数:

参数描述
-d, --directory path类库安装目录, 默认为component_modulesfis-conf配置项:settings.command.install.directory
-c, --clean清除bower的cache缓存
--dev安装devDependencies开发模块
--no-save不保存到bower.json (跟bower不同,默认会保存)
--save-dev保存到bower.jsondevDependencies属性

原理说明

配置说明

对项目的bower.json增加以下属性的支持:

属性类型描述
ignoreDependenciesArray忽略的依赖,如需要去掉bootstrap默认依赖的jquery
overridesObjectkey为类库名称, value为配置项, 包括mapping, main, exports
- overrides.mappingArray支持字符串grunt.file的glob配置格式
- overrides.mainArray/String覆盖原main属性,如bootstrap只需要第一个css
- overrides.componentMainStringmain为数组的时候,需指定一个文件为主文件(release分析别名时用)
- overrides.exportsStringngfis自动包裹define时用到

配置的优先级: 项目bower.json配置 > 插件内置bower-meta.js > 模块本身的bower.json配置

目前内置的mapping很简单, 试过zepto ui-router angular angular-bootstrap bootstrap等几个类库都可以支持。 如有其他需求, 可以提issue, 我会内置进去。

示例

{
  "name": "ngfis-showcase",
  "private": true,
  "dependencies": {
    "angular": "~1.3.7",
    "angular-touch": "~1.3.7",
    "bootstrap": "~3.3.1",
    "zepto": "~1.1.6",
    "ui-router": "~0.2.13",
    "angular-resource": "~1.3.8",
    "angular-route": "~1.3.8",
    "angular-bootstrap": "~0.12.0"
  },
  "devDependencies": {
    "angular-mocks": "~1.3.7"
  },
  "ignoreDependencies": [
    "jquery"
  ],
  "overrides": {
    "bootstrap": {
      "main": "css/bootstrap.css",
      "mapping": [{
        "cwd": "dist",
        "src": [
        "css/**.css",
        "!js/bootstrap.js",
        "fonts/**",
        "!**/*.min.*",
        "!**/*theme.*"
        ]
      }]
    }
  },
  "resolutions": {
    "angular": "1.3.8"
  }
}

运行效果: snapshot

0.2.7

9 years ago

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago