我正在使用Grunt进行构建任务,并且我已经细分了连接活动。特别是,我有一个用于Bootstrap的concat,一个用于DataTables,然后用于获取那些加jQuery并尝试制作一个整体。
我很确定我的失败是由于异步调用造成的。我试图连接"炼狱"中的文件。在它们存在之前!但是,我不确定如何解决这个问题,而不是创建一个重复所有已完成的任务的新任务。
以下是我如何将其可视化,但我完全清楚该任务的异步性质使其无法实现:
grunt.initConfig({
/* ... other initConfig stuff ... */
concat: {
options: {
stripBanners: false
},
bootstrapJS: {
banner: '/*!\n' +
' * Bootstrap v<%= bootstrapInfo.version %> (<%= bootstrapInfo.homepage %>)\n' +
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= bootstrapInfo.author %>\n' +
' * Licensed under the <%= bootstrapInfo.license %> license\n' +
' */\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>',
src: [
'/lib/bootstrap/js/transition.js',
'/lib/bootstrap/js/alert.js',
'/lib/bootstrap/js/button.js',
'/lib/bootstrap/js/carousel.js',
'/lib/bootstrap/js/collapse.js',
'/lib/bootstrap/js/dropdown.js',
'/lib/bootstrap/js/modal.js',
'/lib/bootstrap/js/tooltip.js',
'/lib/bootstrap/js/popover.js',
'/lib/bootstrap/js/scrollspy.js',
'/lib/bootstrap/js/tab.js',
'/lib/bootstrap/js/affix.js'],
dest:
'purgatory/js/bootstrap.js'
},
dataTablesJS: {
src: [
'/lib/js/datatables/jquery.dataTables.js',
'/lib/js/datatables/dataTables.bootstrap.js'],
dest:
'purgatory/js/dataTables.js'
},
noCompMonolith: {
src: [
'lib/jquery.js',
'purgatory/js/bootstrap.js',
'purgatory/js/dataTables.js'],
dest:
'dev/js/application_monolith.js'
}
}
});
或者试图聪明并使用标签,noCompMonolith看起来更像这样(如果我正确地格式化标签,这实际上是同样的事情):
noCompMonolith: {
src: [
'lib/jquery.js',
'<%= concat.dataTablesJS.dest %>',
'<%= concat.bootstrapJS.dest %>'],
dest:
'dev/js/application_monolith.js'
}
我也尝试过使用一个函数,但是initConfig必须对正确的数组进行健全性检查,而不是返回数组的函数。或者,我有语法错误!在这种情况下,我实际上会尝试连接整个以前的集合,而不是复制粘贴,试图明白它:
noCompMonolith: {
src: function() {
var src = [];
src.push.apply(src, 'lib/jquery.js');
src.push.apply(src, concat.bootstrapJS.src);
src.push.apply(src, concat.dataTablesJS.src);
return src;
},
dest: 'dev/js/application_monolith.js'
}
底线:
Concat不同的&#34;组件&#34;分别。当我开发Grunt任务时,我可能想要Bootstrap而不是整体。或DataTables作为单独的文件。我想把我的担忧分开在&#34;炼狱&#34;直到我与他们做更多的事情。
对这些不同的&#34;组件进行第二次结束&#34;
在Grunt中有没有已知的技术?我的一些想法没问题,但语法错了吗?
答案 0 :(得分:0)
我在我的 $var = htmlspecialchars(str_replace("'", "’", $v), ENT_QUOTES, 'ISO-8859-1');
数组中使用前导斜杠开始我的路径。显然这并不好。我没有注意到它生成了0字节的Bootstrap和DataTables文件。当您连接空文件时......好......结果很明显。
作为我自己疏忽的记录,这是一个正确且有效的src
对象:
concat