2016-04-27 15 views
-3

ich Fehler bin immer während Variable unter zwei Funktion Node.js exportiert mitVerwenden Variablen unter zwei exportierten Funktionen

Variablenname Puffer ist, der ein Puffer ist.

Bin ich richtig in der Verwendung variabler Puffer in Js-Code?

module.exports = { 

    var buffer ; 

    init: function(data) 
    { 
     buffer = data ; 
    }, 
    test: function(word) 
    { 

     var readline = require('readline'); 
     var stream = require('stream'); 

     // string to buffer 
     var baseText = buffer; 
     var buf = new Buffer(baseText); 

     //buffer to stream 
     var bufferStream = new stream.PassThrough(); 
     bufferStream.end(buf); 

     var readLines = readline.createInterface({ 
      input: bufferStream, 
     }); 

     var count = 0; 
     readLines.on('line', function (line) 
      { 
       if(line.toLowerCase().indexOf(word.toLowerCase()) != -1) 
       return true; 

      } 
     ); 

     return false; 
    } 
} 
+4

Ihre Syntax ist ungültig. Sie können Variablen nicht in einem Objektliteral deklarieren. – SLaks

+0

@SLaks bitte beantworten wie kann ich das korrigieren. Dies ist mein erster Node.js-Code. –

+0

verschieben Sie es drei Zeilen. –

Antwort

0

{...} ist ein Objektliteral. Es kann nur Eigenschaftsdeklarationen enthalten (name: value).

var ist eine Aussage; Sie können es nicht in die Mitte eines Objektliterals einfügen.

Sie müssen die Variable separat deklarieren.

0

Sie können Variablen in Objektliteralen nicht deklarieren. Wenn Sie außerhalb module.exports definieren, wird kein Fehler auftreten.

var buffer ; 

function init(data) { 
    buffer = data ; 
} 

function test(word) { 
    var readline = require('readline'); 
    var stream = require('stream'); 

    // string to buffer 
    var baseText = buffer; 
    var buf = new Buffer(baseText); 

    //buffer to stream 
    var bufferStream = new stream.PassThrough(); 
    bufferStream.end(buf); 

    var readLines = readline.createInterface({ 
     input: bufferStream, 
    }); 

    var count = 0; 
    readLines.on('line', function (line) { 
      if(line.toLowerCase().indexOf(word.toLowerCase()) != -1) 
       return true; 
    }); 
    return false; 
} 

module.exports = { 
    init: init, 
    test: test 
} 
0

Sie können keine Variable in einem Objektliteral deklarieren.

versuchen, etwas wie folgt aus:

var buffer; 

module.exports = { 

    init: function(data) {} 
    // the rest of your code 

} 

Dies ist ähnlich dem revealing module pattern.

+0

Ich bin gespannt, warum der Downvote? –