Pra*_*ant 6 minify gruntjs bower
我只想对我的工作流程发表意见.我知道Yeoman并且故意决定不使用它.我的工作流程如下:
bower install以安装所有项目资产依赖项.grunt将所有js文件从bower组件文件夹复制到新的js文件夹,并将所有css文件复制到新的css文件夹.我当然不希望在我的grunt任务中执行的一件事是执行特定于依赖项的任务,例如从bootstrap文件夹中获取所有js文件到新的js文件夹,然后将所有js文件从prettyphoto文件夹中获取到新的js文件夹中.我希望grunt任务尽可能通用,以便我可以在任何项目中使用相同的gruntfile,无论bower依赖项可能是什么样子.原因是如果我应该花费所有时间为每个项目编写我的gruntfile,为什么我不会以传统方式获取所有依赖项的源代码.
所以有一个grunt-contrib-copy插件可以将文件从一个地方复制到另一个地方,我用它从bower的components文件夹中获取所有js文件.问题是大多数凉亭组件都带有常规的js和缩小版本.所以,我正在复制它们并连接和丑化它们.重复代码!
我的工作流程有意义吗?是这样,我怎样才能摆脱上面段落中提到的问题?
如果我理解正确,您应该看看grunt-usemin。您可以将 js 标签包装在<!-- build:js js/foo.js -->. 包中包含的 useminPrepare 任务将循环遍历其中的任何脚本(或 css、或图像等),并将它们动态添加到 concat 或 uglify 任务中。
我发现的一个缺点是 usemin 任务相当慢,但希望如果实现了这个拉取请求,事情会变得非常非常快。