Tho*_*ggi 2 javascript node.js
我正在寻找一种方法来获取所有可用节点模块的列表。动态获取它会很有趣,因为不同的版本或未来版本可能会添加或弃用模块。
如果您使用的是 Node 版本 > 8.11.3,推荐的实现方式是使用对象的builtinModules属性module,如下所示:
const builtins = require('module').builtinModules;
Run Code Online (Sandbox Code Playgroud)
更多详情:https : //nodejs.org/api/modules.html#modules_module_builtinmodules
以编程方式获取列表(仅适用于节点 8 及以上)
console.log(require("module").builtinModules)
Run Code Online (Sandbox Code Playgroud)
最新名单:
const builtins = [
'_http_agent', '_http_client', '_http_common',
'_http_incoming', '_http_outgoing', '_http_server',
'_stream_duplex', '_stream_passthrough', '_stream_readable',
'_stream_transform', '_stream_wrap', '_stream_writable',
'_tls_common', '_tls_wrap', 'assert',
'async_hooks', 'buffer', 'child_process',
'cluster', 'console', 'constants',
'crypto', 'dgram', 'dns',
'domain', 'events', 'fs',
'fs/promises', 'http', 'http2',
'https', 'inspector', 'module',
'net', 'os', 'path',
'perf_hooks', 'process', 'punycode',
'querystring', 'readline', 'repl',
'stream', 'string_decoder', 'sys',
'timers', 'tls', 'trace_events',
'tty', 'url', 'util',
'v8', 'vm', 'worker_threads',
'zlib'
]
Run Code Online (Sandbox Code Playgroud)
这是一个较旧的列表:
const builtins = [
'assert', 'buffer', 'child_process',
'cluster', 'console', 'constants',
'crypto', 'dgram', 'dns',
'domain', 'events', 'fs',
'http', 'https', 'module',
'net', 'os', 'path',
'process', 'punycode', 'querystring',
'readline', 'repl', 'stream',
'string_decoder', 'sys', 'timers',
'tls', 'tty', 'url',
'util', 'vm', 'zlib'
];
Run Code Online (Sandbox Code Playgroud)
这是一个尝试在所有版本的节点上工作的函数:
export const builtins = () => {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const result = require('module');
// eslint-disable-next-line node/no-unsupported-features/node-builtins
return result.builtinModules;
} catch (e) {
// prettier-ignore
return [
'assert', 'buffer', 'child_process',
'cluster', 'console', 'constants',
'crypto', 'dgram', 'dns',
'domain', 'events', 'fs',
'http', 'https', 'module',
'net', 'os', 'path',
'process', 'punycode', 'querystring',
'readline', 'repl', 'stream',
'string_decoder', 'sys', 'timers',
'tls', 'tty', 'url',
'util', 'vm', 'zlib'
];
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
267 次 |
| 最近记录: |