1

私はうなり声プラグイン内でストリームを作成しようとしていますが、惨めに失敗しています...

このコードは、スタンドアロン ノード スクリプトとして機能します。

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*/ }

ファイルが存在するが、ノード テスト アプリが同じフォルダーにあり、アクセスできる場合...どんな助けも大歓迎です。それほど難しいことではないはずです;)

4

1 に答える 1