Grunt在不同域或不同服务器上的concat文件

时间:2014-12-08 18:58:55

标签: javascript gruntjs grunt-contrib-concat

编辑工作版本和解释

我想使用grunt和grunt-concat以及类似的东西将来自不同服务器的文件连接到我的目标文件夹中:

  concat: {
      options: {
        separator: ';'
      },
      dist: {
        src: ['dev.staticcontent.com/media/clientcontent/library/*.js', 'js/*.js'],       
        dest: 'dist/<%= pkg.name %>.js'
      }
    },

每次尝试时,我都没有收到来自grunt的错误,但我的dist/marketing-home.js文件是空的......就像它没有找到任何内容一样。

控制台:

C:\Project\My>grunt 
Running "jshint:files" (jshint) task
>> 1 file lint free.

Running "concat:dist" (concat) task
File dist/marketing-home.js created.

Running "uglify:dist" (uglify) task

Done, without errors.

新版本

在Kris的帮助下,我能够在不使用grunt-exec并使用COPYXCOPY shell命令通过网络的情况下完成此操作。

离。

   exec: {
     copy : {
        cmd: function () {
               var path = "\\\\dev-server123\\WebSites\\Static_Contents\\Media\\clientcontent";
               return "copy dist\\*.min.js " + path + " /y";
        }
     }
   }

1 个答案:

答案 0 :(得分:1)

看起来不像concat任务处理来自远程位置的绝对路径或文件。但是,我能够使用curl任务结合concat任务使其工作。

示例:

module.exports = function(grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    curl: {
      'download/jquery.js': 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js',
    },
    concat: {
        js: {
            src: ['download/jquery.js'],
            dest: 'output/test.js'
        },
    }
  });

  grunt.loadNpmTasks('grunt-curl');
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.registerTask('default', ['curl', 'concat']);
};

DEMO DIRECTORY STRUCTURE: enter image description here

我将此节点模块包用于CURL。 https://github.com/twolfson/grunt-curl,那里可能会有更好的。但是这个似乎工作正常。