怎么让凉亭建造包裹?

时间:2013-06-18 13:42:21

标签: twitter-bootstrap gruntjs package-managers bower

有没有办法让bower在从GitHub克隆后运行包grunt?

我正在尝试使用Bower,但我使用的其中一个软件包是Bootstrap扩展,x-editable。 问题是,虽然其他软件包将完全构建的版本推送到github,所以当由Bower安装时,你有一个内置版本x-editable,希望你运行一个grunt文件来构建软件包。

这是其他包管理器的常见做法,比如npm,但我可以找到如何让Bower在安装时构建它。这意味着我需要另一种机制来完成软件包的安装。

3 个答案:

答案 0 :(得分:23)

构建安装是一种反模式,强烈建议在Node中使用。像Node一样,Bower软件包应该是预先构建的。这是因为最终用户不必关心软件包需要的预处理器或构建系统。

您最好的选择是说服作者预先构建,分叉并自行完成,或者在安装组件后手动构建。

Bower团队计划添加将包发布到服务器的功能,类似于它在npm中的工作方式。这将使需要构建步骤的包更好。

答案 1 :(得分:4)

凉亭里有3个挂钩,如果出于任何原因你不能像@Sindre Sorhus那样预先建造,postinstall可以解决你的问题。

在.bowerrc中:

{
    "scripts": {
        "preinstall": "<your command here>",
        "postinstall": "<your command here>",
        "preuninstall": "<your command here>"
    }
}

来源https://github.com/bower/bower/blob/master/HOOKS.md

答案 2 :(得分:-2)

您可以使用composer处理安装后的内容:

<强> bower.json:

{
    "dependencies": {
        "bootstrap": "*"
    }
}

<强> composer.json:

{
    "scripts" : {
        "post-install-cmd" : [
            "bower install --no-color",
            "lessc bower_components/bootstrap/less/bootstrap.less public/script/bootstrap.css"
        ]
    }
}

然后我运行composer install

Loading composer repositories with package information
Installing dependencies (including require-dev)
Nothing to install or update
Generating autoload files
bower warn Package bootstrap is still using the deprecated "component.json" file
bower cloning git://github.com/twitter/bootstrap.git
bower cached git://github.com/twitter/bootstrap.git
bower fetching bootstrap
bower checking out bootstrap#v2.3.2
bower warn Package jquery is still using the deprecated "component.json" file
bower copying C:\Users\renadm\AppData\Roaming\bower\cache\bootstrap\9d49e0aedf207bebd028e26cc86a9e58
bower cloning git://github.com/components/jquery.git
bower cached git://github.com/components/jquery.git
bower fetching jquery
bower checking out jquery#1.8.3
bower copying C:\Users\renadm\AppData\Roaming\bower\cache\jquery\29cb4373d29144ca260ac7c3997f4381
bower installing bootstrap#2.3.2
bower installing jquery#1.8.3

Bower完成安装后,LESS编译器处理.less文件并在我的公共文件夹中放置一个不错的bootstrap.css。使用Closure Compiler可以为JavaScript文件做类似的事情。