blog icon indicating copy to clipboard operation
blog copied to clipboard

该不该用 NPM 替代 Bower?

Open lmk123 opened this issue 8 years ago • 3 comments

NPM 3 发布之后,我发现 node_modules 原本的树状结构变成了平级结构(不知道描述是否准确),这进一步让我思考该不该用 NPM 替代 Bower 了。

一个项目里要维护两份结构相差无几的配置文件(package.jsonbower.json)比较繁琐,而且流行的前端项目会同时发布到 Bower 和 NPM 里。其中,package.json 是必不可少的,而 Bower 更适合前端项目的原因就在于这几点:

  • 使用平级结构(这一点 NPM 也做到之后就没有太大优势了)
  • 存放第三方库的文件夹路径可以自定义

而如果使用 NPM 替代 Bower 有以下几点优势:

  • 只需要维护一份配置文件
  • 参与项目的人能少一点必要的准备工作(不需要安装 Bower 然后 bower install 一下了)
  • 可以使用 David 这样的第三方服务监控依赖项是否是最新版。我在 lmk123/selection-widget 里用到了这个服务。

也就是说,如果我想用 NPM 替代 Bower,那我得自己想一个办法,将前端的第三方库复制到另一个路径里。这一点并不难,但这样做的话我还是得维护一份要从 node_modules 复制到自定义路径的文件列表,并且每次安装前端依赖时都要执行一次。

啊,让我再考虑一下吧。

lmk123 avatar Oct 27 '15 03:10 lmk123

我觉得能用 npm 就直接用 npm 是坠吼的 构建工具实在太多,npm 能干就勿增实体

exoticknight avatar Nov 05 '15 04:11 exoticknight

@exoticknight 是啊,我也是这么想的,保持简单是最好的

lmk123 avatar Nov 05 '15 04:11 lmk123

支持!

Jiiiiiin avatar May 29 '16 01:05 Jiiiiiin