Concat凉亭组件

浓密的

我正在构建一个需要少量前端lib / frameworks的应用程序,例如:

  • jQuery的
  • JQueryUI
  • AngularJS
  • 基础

我正在bower下载组件。此时,我的HTML看起来像:

<script src="components/jquery/jquery.js"></script>
<script src="components/angular/angular.js"></script>
<script src="components/etc/etc.js"></script>

我的目标是制作一个grunt脚本,脚本自动获取已安装的组件,合并并缩小它们并将它们输出为lib.js

问题:

通过所有的研究,我弄清楚了如何从目录中合并所有文件。我的目标是获取Bower组件并合并它们,而不在gruntfile中一一列出。我该如何归档?

也可以仅使用我想要的模块而不是整个UI来构建自定义jQuery UI。

谢谢。

纠结的道依茨

“我的目​​标是获取凉亭组件并合并它们,而不会在gruntfile中一一列出”

您可以从依赖项目录和子目录中获取所有javascript文件,并将其以这种方式连接:

grunt.config('concat.mydeps', {
  files: [{
    src: ['components/**/*.js'],
    dest: 'dist/lib.js'
  }]
})

...但是,如果脚本执行的顺序很重要,这就是灾难的根源:-)。

另外,这些文件夹很可能包含缩小版和非缩小版,导致您两次包含一些脚本...

避免这种副作用的一种方法是:

grunt.config('concat.mydeps', {
  files: [{
    src: ['components/**/*.js', '!components/**/*min.js'],
    dest: 'dist/lib.js'
  }]
})

...但是,这当然不是防弹的-给定的组件很可能具有构建的版本,并且旁边有分离的源。

恕我直言,唯一明智的方法是按照所需的顺序显式列出要聚合的文件(就像您现在在html中所做的那样)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章