安装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
目录中?
答案 0 :(得分:3)
不要将它们复制到你的应用程序 - 这完全违背了像Bower这样的包管理器的意图!通过这样做,您可以从包管理器中控制这些文件 - 然后您将保持与以前相同的状态,每次手动复制文件并更新这些依赖项。
直接引用bower_components/
目录中的文件(很可能是在HTML中)。如果您不喜欢该位置或名称,则可以让bower将您的组件放在其他位置,请参阅.bowerrc
doc:http://bower.io/docs/config/
我可以考虑仅使用bower_components目录中的特定文件 - 但仅在构建时:
如果您编写的grunt任务仅在部署时运行并从bower_components
目录中删除所有未使用的文件,那当然是有道理的,并且不违反包管理器的想法,因为它只是发生在每个部署上,当包管理器没有责任时。
使用此方法可能遇到的唯一问题是,如果您最终将文件复制到另一个目录,那么在部署之前您必须更改bower_components
中所有文件的引用也是。简单的解决方案是不重复文件,而只删除您不需要的文件。
答案 1 :(得分:0)
将它们保留在bower_components
中,并在index.html文件中引用正确的文件。您可以手动执行此操作,也可以使用grunt wiredep等工具自动为您执行此操作。