私はうなり声プラグイン内でストリームを作成しようとしていますが、惨めに失敗しています...
このコードは、スタンドアロン ノード スクリプトとして機能します。
var fs = require('fs');
var sourceFile = 'testfile.log';
fs
.createReadStream( sourceFile )
.on('data', function() {
console.log('getting data');
})
.on('end', function() {
console.log('end!');
});
出力
$ node test.js
getting data
end!
これをうなり声プラグインに入れると:
'use strict';
var fs = require('fs');
module.exports = function(grunt) {
grunt.registerMultiTask('test', 'Testing streams', function() {
var sourceFile = 'testfile.log';
fs
.createReadStream( sourceFile )
.on('data', function() {
console.log('getting data');
grunt.log.oklns('anything?');
})
.on('end', function() {
console.log('end!');
grunt.log.oklns('nothing?');
});
});
};
出力
$ grunt test
Running "test" (test) task
Done, without errors.
私は以下でテストしています:
var stats = fs.lstatSync( sourceFile );
if( !stats.isFile() ) { /*etc*/ }
ファイルが存在するが、ノード テスト アプリが同じフォルダーにあり、アクセスできる場合...どんな助けも大歓迎です。それほど難しいことではないはずです;)