Asynchronous 列出文件并与Jade一起显示(读:通过Grunt将异步数据传递给Jade)
我很难从异步模块传递数据(老实说,每个异步操作都是一个问题-fs.readdir) 我希望Grunt能有像这样的本机方法:Grunt.file.readJSON()到递归读取目录 起初,我用递归readdir创建了一个简单的模块,并将其直接包含到Gruntfile.js中(没有效果),但在阅读了Grunt文档之后,this.async就出现了。即使仍然无法将异步文件列表从recursive readdir传递到Jade模板: 指定任务Asynchronous 列出文件并与Jade一起显示(读:通过Grunt将异步数据传递给Jade),asynchronous,gruntjs,pug,Asynchronous,Gruntjs,Pug,我很难从异步模块传递数据(老实说,每个异步操作都是一个问题-fs.readdir) 我希望Grunt能有像这样的本机方法:Grunt.file.readJSON()到递归读取目录 起初,我用递归readdir创建了一个简单的模块,并将其直接包含到Gruntfile.js中(没有效果),但在阅读了Grunt文档之后,this.async就出现了。即使仍然无法将异步文件列表从recursive readdir传递到Jade模板: 指定任务 var recursive = require('recur
var recursive = require('recursive-readdir');
grunt.registerTask('readFileList', 'Lists recursively files list. from given path', function() {
var done = this.async();
var fileList = recursive('somePath', function (err, files) {
console.log('log files: ', files);
});
done(fileList);
grunt.config.set('readyList', fileList);
});
grunt.registerTask('readFileList', 'Lists recursively files list. from given path', function() {
var done = this.async();
var fileList = recursive('./.tmp', function (err, files) {
grunt.config(['initData'], files);
console.log('RECIEVED FILES: ', files);
done();
});
});
初始化配置
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
config: {
list: grunt.config.get('readyList')
}...
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
initData: {}...
包括数据
jade: {
dev: {
options: {
pretty: true,
data: {
asyncData: grunt.config.list
//asyncData: fs.readdirSync('.tmp')
}
}...
jade: {
dev: {
options: {
pretty: true,
data: {
asyncData: '<%= initData %>'
}
}...
我的问题:的“有效”回购已创建。多亏我找到了解决方案:
指定任务
var recursive = require('recursive-readdir');
grunt.registerTask('readFileList', 'Lists recursively files list. from given path', function() {
var done = this.async();
var fileList = recursive('somePath', function (err, files) {
console.log('log files: ', files);
});
done(fileList);
grunt.config.set('readyList', fileList);
});
grunt.registerTask('readFileList', 'Lists recursively files list. from given path', function() {
var done = this.async();
var fileList = recursive('./.tmp', function (err, files) {
grunt.config(['initData'], files);
console.log('RECIEVED FILES: ', files);
done();
});
});
初始化配置
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
config: {
list: grunt.config.get('readyList')
}...
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
initData: {}...
包括数据
jade: {
dev: {
options: {
pretty: true,
data: {
asyncData: grunt.config.list
//asyncData: fs.readdirSync('.tmp')
}
}...
jade: {
dev: {
options: {
pretty: true,
data: {
asyncData: '<%= initData %>'
}
}...
jade:{
开发人员:{
选项:{
真的,
数据:{
异步数据:“”
}
}...
希望这将有助于某人。Git回购已更新