安装 BackboneJS
、jQuery
等后,我有一个非常大的 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
目录中?
最佳答案
不要将它们复制到您的应用程序中 - 这完全违背了像 Bower 这样的包管理器的意图!通过这样做,您将从包管理器中控制这些文件 - 然后您将处于与以前相同的状态,每次更新这些依赖项时都必须手动复制文件。
只需直接引用 bower_components/
目录中的文件(很可能在您的 HTML 中)。如果您不喜欢那个位置或名称,您可以让 bower 将您的组件放在其他地方,请参阅 .bowerrc
文档:http://bower.io/docs/config/
我可以想到仅使用 bower_components 目录中的特定文件的用途 - 但仅在构建时:
如果您编写一个只在部署时运行的 grunt 任务,并从 bower_components
目录中删除所有未使用的文件,那当然是有道理的,并且不违背包管理器的想法,因为它只发生在每次部署时,包管理器没有责任的时候。
使用这种方法可能会遇到的唯一问题是,如果最终将文件复制到不同的目录 - 因为那样的话,您必须先更改 bower_components
中对所有文件的引用部署也是。简单的解决方案是不要复制文件,而是只删除您不需要的文件。
关于javascript - 我应该从 bower_components 复制文件并在那里引用它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26567925/