在 Web 应用程序中,库位于以下目录中:
/lib
/library
/libraries
/lib、/library、/libraries 是事实上的标准。现在,
我们应该在哪里找到 JS 库?(例如 jQuery)
我们应该在哪里找到 JS 框架?(例如 Backbone.js、Knockout.js、Ember.js、Angular.js)
在 Web 应用程序中,库位于以下目录中:
/lib
/library
/libraries
/lib、/library、/libraries 是事实上的标准。现在,
我们应该在哪里找到 JS 库?(例如 jQuery)
我们应该在哪里找到 JS 框架?(例如 Backbone.js、Knockout.js、Ember.js、Angular.js)
对于它的价值,我将第三方库和框架(我真的不认为需要区分它们)放在一个名为/vendor
. 我更喜欢把它放在那里,因为它清楚地将我们编写的库(自然进入/lib
)与未修改的供应商库(也称为依赖项)分开。
需要考虑的一件事是,许多库(例如 Bootstrap)不仅包含 JavaScript:还有 CSS 和图像。没有什么比第三方库更让我恼火的了,它想把它的 CSS 放在我的 root/css
中,将图像放在我的 root/img
中等等。我希望所有这些依赖项保持在一起。所以我的目录结构看起来像这样:
/
lib/
mylib.js
css/
mycss.css
img/
myimg.png
vendor/
jquery-1.10.0.min.js
bootstrap/
img/
bootstrapglphs.png
css/
bootstrapcss.css
这真的取决于你。
例如,在 Django webapp 中,将这些文件保存在设置文件指定的 STATIC_FILES 目录中是有意义的,因为它们是由客户端下载的并且应该静态提供。
然后,您可能希望根据文件名或目录名对这些文件进行版本控制,以便您可以指示 HTTP 服务器设置正确的到期标头。
这里与 C 项目中的 /lib 有根本的区别,因为这些文件是提供给客户端的,并且应该能够随时被缓存清除。