将Bower组件安装到两个不同的目录中?

时间:2013-04-16 16:03:13

标签: javascript components sass organization bower

使用CSS和JS组件时,将它们安装到不同的目录是否可行,甚至是否有意义?

.
|-- app
    |-- scripts
        |-- components           # js components go here
            |-- backbone-amd
            |-- etc
    |-- styles
        |-- modules
        |-- partials
        |-- components           # sass components go here
            |-- normalize.scss
            |-- etc

构建这样组织的项目的最有效方法是什么?是否有一个很好的Grunt任务来实现为开发环境集成bower安装的sass组件的目标?

3 个答案:

答案 0 :(得分:14)

Bower需要跟踪您安装的每个组件。如果它们分散在多个位置,那将是非常困难的。对于Sass开发,只需将components文件夹放在Sass搜索路径中。


如果您坚持这样做,有grunt tasks可以帮助您将其拆分:

(虽然不推荐)

答案 1 :(得分:13)

有一个名为bower-installer的节点包,它提供了一个用于管理备用安装路径的命令。

运行npm install -g bower-installer

设置你的bower.json

{
  "name" : "test",
  "version": "0.1",
  "dependencies" : {
    "jquery-ui" : "latest"
  },
  "install" : {
    "path" : {
      "css": "src/css",
      "js": "src/js"
    },
    "sources" : {
      "jquery-ui" : [
        "components/jquery-ui/ui/jquery-ui.custom.js",
        "components/jquery-ui/themes/start/jquery-ui.css"
      ]
    }
  }
}

然后运行bower-installer命令。

这会将components/jquery-ui/themes/start/jquery-ui.css安装到./src/css等等

答案 2 :(得分:0)

也许您可以在不同目录中拥有.bowerrc个文件,您可以在其中配置"directory"密钥以指向bower组件目录。

但您需要cd才能更正bower install whatever之前的目录:

app/
  scripts/
    .bowerrc
  styles/
    .bowerrc
tests/
  .bowerrc