`fs.js` 中的 `process.binding('fs')` 是什么?
What is `process.binding('fs')` in `fs.js`?
我看到在 fs.js
的顶部有一个 process.binding('fs')
。
https://github.com/nodejs/node/blob/master/lib/fs.js#L10:
const binding = process.binding('fs');
然后,它被用作:
binding.open(pathModule._makeLong(path),
stringToFlags(flag),
0o666,
req);
(在https://github.com/nodejs/node/blob/master/lib/fs.js#L303-L306)
我的问题是:
process.binding('fs')
是什么意思?
- 这里
fs
是什么(我们已经在 fs.js
)?
- 在哪里可以找到
binding.open
的源代码?是 Javascript 代码还是 c/c++ 代码?
process.binding()
是一个内部 API 节点用来获取对各种核心 C++ 绑定的引用。
process.binding('fs')
中的 'fs'
是对 C++ 绑定 (节点源代码树中的 src/node_file.cc
)的引用 fs
模块。
- 如前所述,
process.binding()
引用 C++ 绑定,因此在本例中 binding.open()
被导出 here and defined here。
我看到在 fs.js
的顶部有一个 process.binding('fs')
。
https://github.com/nodejs/node/blob/master/lib/fs.js#L10:
const binding = process.binding('fs');
然后,它被用作:
binding.open(pathModule._makeLong(path),
stringToFlags(flag),
0o666,
req);
(在https://github.com/nodejs/node/blob/master/lib/fs.js#L303-L306)
我的问题是:
process.binding('fs')
是什么意思?- 这里
fs
是什么(我们已经在fs.js
)? - 在哪里可以找到
binding.open
的源代码?是 Javascript 代码还是 c/c++ 代码?
process.binding()
是一个内部 API 节点用来获取对各种核心 C++ 绑定的引用。'fs'
是对 C++ 绑定 (节点源代码树中的src/node_file.cc
)的引用fs
模块。- 如前所述,
process.binding()
引用 C++ 绑定,因此在本例中binding.open()
被导出 here and defined here。
process.binding('fs')
中的