【发布时间】:2014-12-08 18:58:55
【问题描述】:
编辑工作版本和解释
我想使用 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 和使用 COPY 或 XCOPY shell 命令的情况下做到这一点。
例如
exec: {
copy : {
cmd: function () {
var path = "\\\\dev-server123\\WebSites\\Static_Contents\\Media\\clientcontent";
return "copy dist\\*.min.js " + path + " /y";
}
}
}
【问题讨论】:
-
src路径不正确或 GruntFile 无法访问。我不肯定绝对路径是否有效,但我认为它们会。其他一切似乎都是正确的。这是dev.staticcontent.com/media/clientcontent/library/的绝对路径吗? -
不,它不是绝对路径,它是 URL 示例:dev.staticcontent.com/media/clientcontent/library/calendar.js(只是示例不起作用)
-
我也试过绝对路径,还是不行:(
-
您是否尝试过使用相对路径来测试您的 GruntFile?也许只是在与您的 GruntFile.. 相同的目录中创建一个测试目录并指向它。如果那行得通,那么它可能就是路径。如果不是,则可能是 GruntFile 中的某些内容不正确。
-
@KrisHollenbeck 是的,我确实尝试在我当前的项目中使用路径 (
'js/*.js'),它确实有效。我知道这与路径有关。我想知道是否有办法从不同的域添加文件。我无法让它工作。如果你能告诉我如何将 google jquery cdn 包含到我的 gruntfile 中(src: ['http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'],我的其他私人文件也是如此。
标签: javascript gruntjs grunt-contrib-concat