2016-06-20 11 views
4

Ich sehe in der Spitze der fs.js gibt es eine process.binding('fs').Was ist `process.binding ('fs')` in `fs.js`?

https://github.com/nodejs/node/blob/master/lib/fs.js#L10:

const binding = process.binding('fs'); 

Und dann wird es als:

binding.open(pathModule._makeLong(path), 
      stringToFlags(flag), 
      0o666, 
      req); 

(In https://github.com/nodejs/node/blob/master/lib/fs.js#L303-L306)

Meine Frage ist:

  • Wastut 210 bedeuten?
  • Was ist fs hier (wir bereits in fs.js)?
  • Wo finde ich den Quellcode von binding.open? Ist es Javascript-Code oder C/C++ - Code?

Antwort

9
  1. process.binding() ist eine interne API durch den Knoten verwendet, um einen Hinweis auf die verschiedenen Kerne C++ Bindungen zu erhalten.
  2. 'fs' in process.binding('fs') ist ein Verweis auf den C++ Bindung (src/node_file.cc im Knoten Quellbaum) für das Modul fs.
  3. Wie erwähnt, process.binding() Referenzen C++ Bindungen, so in diesem Fall binding.open() exportiert here und definiert here.