我正在尝试为客户端开发学习现代Javascript工作流程,因此我尝试了Grunt。
我想要一些像 AngularJS , Bootstrap 或 moment.js 这样的库,并将它们安装在我的dist
目录中。如果可能的话,我想为他们提供一些包裹管理。
我已经看过 Bower 和 grunt-bower-task ,但我不确定它们适合哪个点这项任务,因为并非所有软件包都包含缩小版本, grunt-bower-task 似乎无视这些。
是否有一个Grunt友好的包管理解决方案来管理客户端Javascript库,或者我应该继续将它们下载到vendor
文件夹,并告诉Grunt将它们复制到他们的dist
文件夹中.js
或.min.js
变体?
答案 0 :(得分:5)
我认为凉亭和咕噜声有不同的责任感。 Bower用于客户端包管理和用于构建(以及其他任务)的grunt。至少我使用它们。使用bower安装angularjs和bootstrap,它会下载缩小和开发库。如果不是,你总是可以用咕噜声将它们缩小。
是的,我相信用bower控制你的包并用grunt构建你的应用程序(使用copy,concat,uglify等任务)是最好的做法。
您也可以检查组件,它等同于凉亭。
答案 1 :(得分:0)
我试图使用grunt-curl
破解这样的东西 - 只是定义我想要包含的库列表,然后从cdnjs.com下载它们,我相信这些链接会更新到当前版本。我是在一个单独的install
任务中完成的。
这不是最优雅的解决方案,但它确实做了我当时所需要的。如果你想要更强烈地控制你使用的包(即版本),我可能不会建议它 - 但如果你这样做,那么为什么不只是使用Bower?