Bower和NPM如何结合在一起?

lil*_*s27 15 javascript build dependency-management npm bower

因此,为了解释我的问题,我来自Java后端开发人员的角度,我们使用Maven来构建.我一直致力于测试我们最近开发的服务器端Node项目,但现在我正在继续在我们的前端JavaScript客户端上设置测试.我不是很精通前端开发,这是我第一次涉足这方面.

所有这一切,我想我将使用以下技术堆栈进行前端测试:Eclipse IDE,Maven构建过程,Mocha测试框架,Chai断言框架,Nock HTTP模拟框架,Sinon模拟/间谍/ stubbing框架,Rewire依赖注入框架.一切都应该没问题,因为那是我们用于Node项目的堆栈,我希望尽可能保持前端设置的相似性.

所以,这是我的知识崩溃的地方.我似乎无法理解我们的Node项目和我们的前端JavaScript项目之间的依赖关系管理的差异.我不明白为什么我不会继续使用集成到我们的Maven构建中的NPM来处理依赖项管理和安装.

我看到很多人都在鼓吹Bower,但在查看了它的页面和文档之后,我仍然没有看到NPM不会填充的利基.在浏览器依赖管理的情况下,我看到很多人坚决拒绝NPM; 主要原因是NPM是为服务器端Node项目而设计的,而不是为前端空间设计的.但谁在乎?无论其初始设计的意图如何,如果它做了我需要做的事情,那么它的缺点是什么?

请接近这个"问题",好像我是一个完整的新手.我已经意识到,当我完成这个过程和研究时,我对前端方面的知识非常缺乏.话虽如此,请在答案中尽可能具体和彻底.我很乐意根据需要分享项目配置等,以帮助描绘我所在空间的图片.感谢任何反馈!

gus*_*nke 15

鲍尔和NPM 的工作方式不同.

NPM非常强大,非常出色.但是,你不会在那里找到很多客户端软件包; 他们中的大多数都在那里,因为他们也在Node工作.(例如,Underscore.JS和JADE模板引擎.)

这就是为什么你有Bower,它拥有大多数客户端软件包.它有许多jQuery插件,模板引擎,CSS框架等.不要指望在NPM中找到这样的包.

你可以和两者一起工作.我这样做了.:)

  • 你不应该因为包名(npm)可能与组件名称(bower)冲突,即"jquery",这将扰乱其中任何一个并导致问题. (3认同)