如何编写在单独的文件夹中查找匹配的高级concat grunt脚本?

时间:2013-11-19 21:18:54

标签: javascript node.js gruntjs grunt-contrib-concat

我需要使用grunt编写高级concat脚本。这是我的样板:

___js
|____dist
| |____vents
| | |____commonEvents.js
| | |____compare.js
|____libs
|____src
| |____events
| | |____carousel.common.js
| | |____compare.js
| | |____styles.common.js
| |____handlers
| | |____carousel.common.js
| | |____compare.js
| | |____style.common.js

我希望concat任务查看“src / events”和“src / handlers”目录并查找以“.common.js”结尾的所有文件并将它们连接在一起并将它们放在“dist / vents”中目录(“commonEvents.js”),其他不以“.common.js”结尾的文件我希望脚本在另一个目录中找到该对并将它们连接在一起并将它们放入“dis / vents / filename.js” “(例如:events / compare.js和handlers / compare.js是对,而不是以common.js结尾)。

2 个答案:

答案 0 :(得分:0)

我不认为有任何类似的准备使用。

如果您打算创建自己的解决方案,我认为这个包可以是一个很好的起点:

https://github.com/yeoman/grunt-usemin

它也可以操纵其他插件的配置。

答案 1 :(得分:0)

我想我们已经了解了https://github.com/gruntjs/grunt-contrib-concat模块。你只需要两个不同的任务。那怎么样:

grunt.initConfig({
  concat: {
    common: {
      src: ['src/events/**/*.common.js', 'src/handlers/**/*.common.js'],
      dest: 'dist/vents/commonEvents.js'
    },
    nocommon: {
      src: ['src/events/**/*.js', 'src/handlers/**/*.js', '!src/events/**/*.common.js', '!src/handlers/**/*.common.js'],
      dest: 'dist/vents/filename.js'
    }
  }
});