同时使用多个前端包管理器(Bower、NuGet)

35

写前端库的NuGet包时,(非官方)惯例是将JavaScript文件剥离出来放在Scripts文件夹中,并将CSS文件剥离出来放在Content文件夹中。很少有这些文件被放置在子文件夹中,因此你会发现有大量文件散落在Scripts和Content文件夹里。

唯一分离自己代码的方法是将其放在子文件夹中,或者完全放在不同的文件夹中(请参见SPA模板Durandal和HotTowel,在其中添加了一个名为“App”的文件夹)。

我个人喜欢Twitter Bower提供的“不偏见”的解决方案。将所有前端包放在名为“Components”的根文件夹中,不要更改原始包结构。

我正在考虑放弃使用NuGet用于前端库,改用Bower,并想知道是否有人有将两者结合使用的经验?或者,是否有一种方法可以直接使用NuGet安装GitHub存储库而不创建NuGet包?


也许你可以在Programmers.SE上提问这个问题?这个问题没有一个明确的正确答案。 - nalply
15
我对这个问题被关闭感到惊讶。在我看来,这并不是一个非常狭窄的情况。目前有两种SPA的方法正在融合:MS / Nuget / Durandal / WebAPI方法和Non-MS / Bower / Grunt / Node.js / AngularJS方法。 这个问题是关于如何将其中一个的打包组件与另一个混合使用的。我认为这对当前社区的发展非常重要。一个答案肯定会帮助未来的访问者。 - Holf
3
你想要答案?你的意思是你不想因嫉妒而被踩吗?我同意,过去两年里SO变得非常无聊,就是因为这个原因。 - TheOptimusPrimus
不管你做什么,都不要在同一个目录树中同时使用不同的包管理器。这会混乱依赖关系并且如果它们使用同一个本地包数据库,会使其变得杂乱无章。第一个包管理器对第二个包管理器一无所知,反之亦然。 - Sebi2020
1个回答

11

我们同时使用NuGet和Bower,在过去这种方式一直运行良好。我们正在逐步将前端库迁移到Bower。为了从NuGet安装,您需要创建一个NuGet包。


5
这正是我决定要做的,而且它完美地发挥了作用。服务器方面使用NuGet,前端方面使用Bower。 - Simon Woodhead
因此,您建议为 bower 创建一个 nuget 包(就像其他人所做的一样:http://www.nuget.org/packages/Bower/),而不是通过 npm 安装 bower。优缺点是什么? - Darren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接