JavaScript的依赖管理和构建工具

时间:2012-09-08 20:47:14

标签: javascript dependency-management package-managers

我在多个项目中共享了许多JS 片段和文件。我必须将它们复制到每个项目的单个文件中,或者将它们作为cdn上的单个文件提供。两者都是坏主意。

是否有任何依赖管理和构建工具,如Maven for JavaScript?理想情况下,它需要一组js依赖项并构建一个可以在cdn上提供的单个js文件。

我可以写一个脚本来做到这一点。但是我想找到与JS相似的东西。


2014年更新:基于此处的答案,以下我的研究是最受欢迎的工具:

Bower,NPM,RequireJS,Browserify,Webpack,Grunt,Gulp

3 个答案:

答案 0 :(得分:5)

RequireJS,但这与Maven不同,你要求它做的不仅仅是Maven。有许多JS组合器/缩小器,如jekyll-combiner和其他许多。

如果您使用 Maven,JavaScript Maven Tools可能会引起您的兴趣。如果你不是,我不知道为任意构建系统指定,下载,组合等的统一方法。一些node.js的东西可能有用,但我从来没有在node.js上下文之外使用它,所以我不确定。

答案 1 :(得分:4)

http://webjars.org/将JS库打包为JAR文件,并使它们在Maven下可用。

RequireJS不是WebJars的替代品;它补充它。RequireJS将在运行时使用公共JS文件(在CDN上),而Webjars将在构建时下载必要的文件并让你自己托管它们。

因为大多数JS文件不是托管在CDN上,所以我使用Webjars在构建时下载必要的JS文件,并使用RequireJS引用它们。这样我就可以获得两全其美的效果。

答案 2 :(得分:3)

看看grunt。它是javascript项目非常灵活的构建工具。由jquery团队和其他大项目使用。它结合,缩小,测试,lint js文件,在javascript中wtitten,有几十个插件,无论你想要什么