我看到在顶部fs.js
有一个process.binding('fs')
.
https://github.com/nodejs/node/blob/master/lib/fs.js#L10 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);
(In https://github.com/nodejs/node/blob/master/lib/fs.js#L303-L306 https://github.com/nodejs/node/blob/master/lib/fs.js#L303-L306)
我的问题是:
- 什么是
process.binding('fs')
mean?
- What's
fs
在这里(我们已经在fs.js
)?
- 哪里可以找到源代码
binding.open
?是 Javascript 代码还是 C/C++ 代码?
-
process.binding()
是节点使用的内部 API,用于获取对各种核心 C++ 绑定的引用。
-
'fs'
in process.binding('fs')
是对C++ 绑定 (src/node_file.cc https://github.com/nodejs/node/blob/b488b19eaf2b2e7a3ca5eccd2445e245847a5f76/src/node_file.cc在节点源树中)fs
module.
- 如上所述,
process.binding()
引用 C++ 绑定,因此在本例中binding.open()
已导出here https://github.com/nodejs/node/blob/b488b19eaf2b2e7a3ca5eccd2445e245847a5f76/src/node_file.cc#L1465并定义here https://github.com/nodejs/node/blob/b488b19eaf2b2e7a3ca5eccd2445e245847a5f76/src/node_file.cc#L982-L1009.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)