blog
blog copied to clipboard
该不该用 NPM 替代 Bower?
NPM 3 发布之后,我发现 node_modules
原本的树状结构变成了平级结构(不知道描述是否准确),这进一步让我思考该不该用 NPM 替代 Bower 了。
一个项目里要维护两份结构相差无几的配置文件(package.json 与 bower.json)比较繁琐,而且流行的前端项目会同时发布到 Bower 和 NPM 里。其中,package.json 是必不可少的,而 Bower 更适合前端项目的原因就在于这几点:
- 使用平级结构(这一点 NPM 也做到之后就没有太大优势了)
- 存放第三方库的文件夹路径可以自定义
而如果使用 NPM 替代 Bower 有以下几点优势:
- 只需要维护一份配置文件
- 参与项目的人能少一点必要的准备工作(不需要安装 Bower 然后
bower install
一下了) - 可以使用 David 这样的第三方服务监控依赖项是否是最新版。我在 lmk123/selection-widget 里用到了这个服务。
也就是说,如果我想用 NPM 替代 Bower,那我得自己想一个办法,将前端的第三方库复制到另一个路径里。这一点并不难,但这样做的话我还是得维护一份要从 node_modules
复制到自定义路径的文件列表,并且每次安装前端依赖时都要执行一次。
啊,让我再考虑一下吧。
我觉得能用 npm 就直接用 npm 是坠吼的 构建工具实在太多,npm 能干就勿增实体
@exoticknight 是啊,我也是这么想的,保持简单是最好的
支持!