用外部文件对Grunt中的文件进行排序
Ordening files in Grunt with external file
我正在使用Grunt contrib concat配置Grunt,以连接20个javascript文件。它们必须按照特定的顺序排列,我想知道是否有一种巧妙的方法可以做到这一点,而不会弄乱我的Gruntfile.js。
我所做的和行之有效的是,用一个函数声明一个名为"libraries"的变量,该函数返回一个字符串,其中所有文件都按正确的顺序排列。
var libraries = new (function () {
return [
'/javascript/libs/jquery.min.js',
'/javascript/libs/jquery.address.js',
'/javascript/libs/jquery.console.js'
];
});
然后concat(简化,只是一个例子):
concat: {
libs: {
files: {
'libs.js' : [libraries],
},
},
main: {
files: {
'main.js' : [main]
}
}
},
因此,当我在任务配置中调用"库"时,一切都很好,但我想在一个单独的文件中声明这个列表。不幸的是,我找不到任何东西,也不知道这是否可能。希望有人能帮我!提前感谢:-)
我找到了一个解决方案!由于Grunt是在NodeJS上构建的,所以可以使用module.exports。我所做的是设置一个名为libraries.js的外部文件,该文件位于我的Grunt目录中。
var exports = module.exports = {};
exports.customLibrary = function () {
return [
// Path to a library
// Path to another library
// and so on...
];
};
exports.mainScripts = function () {
return [
// Path to a library
// Path to another library
// and so on...
];
};
然后我通过在Gruntfile.js 中声明一个变量来导入这个模块
var libraries = require('../javascript/libraries.js');
为了使用libraries.js中声明的方法,我又设置了两个变量,它们以所需的顺序返回一个包含所有必要文件的字符串:
var customLibrary = libraries.customLibrary();
var mainScripts = libraries.mainScripts();
我使用这些变量来定义concat任务中的源。希望这有帮助!
相关文章:
- 使用php、ajax、javascript对页面上的flash文件进行随机排序
- jquery文件上传(排序)
- 从可排序文件中拖出来
- 在 Sails.js 中重新排序文件上传的表单参数
- 路由文件中的 ExpressJS 排序架构对象
- 使用咕噜咕噜中性对文件进行排序
- 您能否按字母顺序对从 JSON 文件动态创建的 jQuery 列表进行排序
- 用外部文件对Grunt中的文件进行排序
- 嵌套可排序文件无法正确折叠/展开
- 当jQuery可排序文件发生更改/更新时,会收到通知
- 浏览器中大型XML文件的快速自然排序
- 无法从jQuery UI中获得可排序的post数据(发送到相同的文件)
- 如何在D3.js中通过JSON文件解析按键排序对象
- 使用数据库与文件系统进行图像排序
- 如何排序日期和字符串在同一列在jquery插件有文件jquery. datatable .js
- 使用纯JavaScript将JSON文件转换为可排序表
- 另一种排序JSON文件的方法,或者至少是使用javascript的下拉列表
- 如何排序树的文件夹
- 如何排序和显示目录中的HTML文件及其链接
- 关于在大javascript文件中排序的建议