Javascript 在哪里可以获得所有本机节点模块的阵列?
我正在寻找一种方法来获取所有可用节点模块的列表。动态获取该列表会很有趣,因为不同版本或未来版本可能会添加或弃用模块。以编程方式获取列表(仅适用于节点8及更高版本) 最新名单:Javascript 在哪里可以获得所有本机节点模块的阵列?,javascript,node.js,Javascript,Node.js,我正在寻找一种方法来获取所有可用节点模块的列表。动态获取该列表会很有趣,因为不同版本或未来版本可能会添加或弃用模块。以编程方式获取列表(仅适用于节点8及更高版本) 最新名单: const builtins = [ '_http_agent', '_http_client', '_http_common', '_http_incoming', '_http_outgoing', '_http_server', '_stream_duplex',
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'
]
下面是一个旧的列表:
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'
];
以下是一个尝试跨所有版本的节点工作的函数:
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'
];
}
};
以编程方式获取列表(仅适用于节点8及更高版本) 最新名单:
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'
]
下面是一个旧的列表:
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'
];
以下是一个尝试跨所有版本的节点工作的函数:
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'
];
}
};
您可以使用此代码获取所有全局安装模块的列表:
function exec(callback) {
require('child_process').exec('npm ls -g --depth=0 --json', function(err, data, stderr) {
if (err) return cb(err)
callback(data);
});
}
function get_modules(callback) {
var res = [];
exec(function(d) {
d = JSON.parse(d);
var m = d.dependencies;
for(key in m) res.push(key);
callback(res);
});
}
get_modules(console.log);
如果需要内置模块,请使用
console.log(require("module").builtinModules)
参考此项。您可以使用此代码获取所有全局安装模块的列表:
function exec(callback) {
require('child_process').exec('npm ls -g --depth=0 --json', function(err, data, stderr) {
if (err) return cb(err)
callback(data);
});
}
function get_modules(callback) {
var res = [];
exec(function(d) {
d = JSON.parse(d);
var m = d.dependencies;
for(key in m) res.push(key);
callback(res);
});
}
get_modules(console.log);
如果需要内置模块,请使用
console.log(require("module").builtinModules)
请参阅此项。您可以获得如下本机模块列表:
const repl = require('repl')
console.log(repl._builtinLibs)
通过这种方式,您可以在特定版本的Nodejs中获得可用的本机模块。您可以获得如下本机模块列表:
const repl = require('repl')
console.log(repl._builtinLibs)
通过这种方式,您可以在特定版本的Nodejs中获得本机模块。如果您使用的是Node version>8.11.3,建议使用
模块
对象的内置模块
属性,如下所示:
const builtins = require('module').builtinModules;
进一步详细信息:如果您使用的是节点版本>8.11.3,建议使用
模块
对象的内置模块
属性,如下所示:
const builtins = require('module').builtinModules;
更多详细信息:cd/usr/share/doc/nodejs/api | find./-name“*.md”cd/usr/share/doc/nodejs/api | find./-name“*.md”@ruakh不,我认为将所有这些内容都列在这里是很有用的,也许最好在问题或答案中添加这个列表,与您引用的链接中的方式相同。@ruakh不,我认为将所有这些元素的数组与此处的列表相同是很有用的,也许最好将此列表添加到问题或答案中,与您引用的链接中的方式相同。这缺少
模块
。感谢您指出@ThomasReggi,但我认为它是语义的。刚刚找到这个。这是缺少的模块
。感谢您指出@ThomasReggi,但我认为它是语义的。刚找到这个。