javascript - Grunt 连接不同域或不同服务器上的文件

标签 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 外壳命令。

例如

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

最佳答案

看起来 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']);
};

演示目录结构: enter image description here

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

关于javascript - Grunt 连接不同域或不同服务器上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27364948/

相关文章:

gruntjs - Grunt 在连接后输出一个空的 .js 文件

javascript - 由于注释掉的代码解析错误,grunt 失败

javascript - 网络音频增益节点可以控制其他增益节点吗?

javascript - 隔离作用域无法访问作用域链中更高层的变量

gruntjs:如何安装并开始使用 grunt?

gruntjs - Grunt 删除index.html 内容

javascript - 生成器函数中的委托(delegate) yield (yield star, yield *)

javascript - nodejs keydown/keyup 事件

javascript - 找不到本地 Npm 模块 "grunt-template-jasmine-istanbul"

gruntjs - grunt 不会在 watch livereload 上重新加载服务器