Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用grunt concat,如何自动将同一文件连接到许多其他文件?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
要连接两个文件,它看起来像这样

concat: {
    src: ['common.js','js/app.js'],dest: 'assets/js/app.js'
  }

如果我想将整个文件夹连接到一个文件夹,它看起来像这样

concat: {
    src: ['dev/*.js','],dest: 'prod/js/app.js'
  }

但是让我们说一个文件,我想连接到10或20个其他文件,我想让它们分开连接?换句话说,这是我正在寻找的:

A.js + B.js = AB.js
A.js + C.js = AC.js
A.js + D.js = AD.js
A.js + E.js = AE.js

等等…要更具体地说,我可以弄清楚如何按照描述逐个连接文件,但是我想弄清楚如何从示例中指定A.js,并将它连接到任何文件指定路径所以我想要的是:

A.js + dev/*.js = AB.js,AC.js,AD.js,AE.js ...

在伪代码中,这里是我想要的:

concat: {
    src: ['common.js','dev/*.js',// common.js gets concatenated to each file in this directory
    dest: 'prod/js/*.js' // each file in src gets saved separately in dest 
  }

我会感谢任何帮助,我很难找到关于如何做到这一点的信息

解决方法

Grunt的内置 concat任务(我建议看源码btw)不支持任何东西,如dest:’prod / js / *.js’,你必须分别指定每个输出目标,这在你的情况下是一个过分的.

你最好的办法是写你自己的代码(可能包装在你的自定义任务中),这很简单.这是一个简单的包装多任务.不要承诺它是强大和安全使用:)

grunt.registerMultiTask('wrap','Wraps source files with specified header and footer',function() {
        var data = this.data,path = require('path'),dest = grunt.template.process(data.dest),files = grunt.file.expandFiles(this.file.srC),header = grunt.file.read(grunt.template.process(data.header)),footer = grunt.file.read(grunt.template.process(data.footer)),sep = grunt.utils.lineFeed; 

        files.forEach(function(f) {
            var p = dest + '/' + path.basename(f),contents = grunt.file.read(f);

            grunt.file.write(p,header + sep + contents + sep + footer);
            grunt.log.writeln('File "' + p + '" created.');
        });
  });

使用如下配置来提供:

wrap: {
    html: {
        header: '<%= project.partials %>/head.html',footer: '<%= project.partials %>/footer.html',src: [
            '<%= project.pages %>/index.html','<%= project.pages %>/about.html','<%= project.pages %>/blog.html'
        ],dest: '.'   // desTination *directory*,probably better than specifying same file names twice
    }
}

以防万一我也更新你的小提琴:http://jsfiddle.net/dipish/hKkGX/

大佬总结

以上是大佬教程为你收集整理的使用grunt concat,如何自动将同一文件连接到许多其他文件?全部内容,希望文章能够帮你解决使用grunt concat,如何自动将同一文件连接到许多其他文件?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。