1

安装后BackboneJSjQuery等我有一个非常大的bower_components目录。

├───.idea
│   ├───runConfigurations
│   └───scopes
└───app
    ├───bower_components
    │   ├───backbone
    │   ├───jquery
    │   │   ├───dist
    │   │   └───src
    │   │       ├───ajax
    │   │       │   └───var
    │   │       ├───attributes
    │   │       ├───core
    │   │       │   └───var
    │   │       ├───css
    │   │       │   └───var
    │   │       ├───data
    │   │       │   └───var
    │   │       ├───effects
    │   │       ├───event
    │   │       ├───exports
    │   │       ├───manipulation
    │   │       │   └───var
    │   │       ├───queue
    │   │       ├───sizzle
    │   │       │   ├───dist
    │   │       │   └───test
    │   │       │       ├───data
    │   │       │       └───unit
    │   │       ├───traversing
    │   │       │   └───var
    │   │       └───var
    │   └───underscore
    ├───css
    └───js

参考这些的最佳做法是什么?例如直接,Grunt 任务将位复制到主应用程序,还是放在目录bower_componects里面~/app

4

2 回答 2

3

不要将它们复制到您的应用程序中 - 这完全违背了像 Bower 这样的包管理器的意图!通过这样做,您可以从包管理器中控制这些文件 - 然后您将处于与以前相同的状态,每次都必须手动复制文件并更新这些依赖项。

只需bower_components/直接引用目录中的文件(很可能是在您的 HTML 中)。如果您不喜欢那个位置或名称,您可以让 bower 将您的组件放在其他地方,请参阅.bowerrc文档:http ://bower.io/docs/config/


我可以想到只使用 bower_components 目录中的特定文件的用途 - 但仅限于构建时

如果您编写一个仅在部署时运行的 grunt 任务,并从bower_components目录中删除所有未使用的文件,那当然是有道理的,并且不会违背包管理器的想法,因为它只会在每次部署时发生,当包管理器没有任何责任。

使用这种方法可能遇到的唯一问题是,如果您最终将文件复制到不同的目录 - 因为您还必须bower_components在部署之前更改对所有文件的引用。简单的解决方案是不要复制文件,而是只删除不需要的文件。

于 2014-10-25T22:36:46.757 回答
0

只需将它们保留并在bower_componentsindex.html 文件中引用适当的文件即可。您可以手动执行此操作,或使用gruntwiredep等工具自动执行此操作。

于 2014-10-25T22:40:25.570 回答