我如何在没有一些内部模块的情况下构建 node.js?
How can I build node.js without some internal modules?
我想构建一个特定的 nodejs 作为静态库,没有像 child_process
dns
等内部模块
有没有可配置的方法来解决这个问题?
从 node.gyp 中删除不需要的模块,从 lib
文件夹中删除 .js 文件,从 lib/internal/module.js
中的 builtinLibs
数组中删除它们然后构建它。
{
'variables': {
'v8_use_snapshot%': 'false',
'v8_trace_maps%': 0,
'node_use_dtrace%': 'false',
'node_use_lttng%': 'false',
'node_use_etw%': 'false',
'node_use_perfctr%': 'false',
'node_no_browser_globals%': 'false',
'node_use_v8_platform%': 'true',
'node_use_bundled_v8%': 'true',
'node_shared%': 'false',
'force_dynamic_crt%': 0,
'node_module_version%': '',
'node_shared_zlib%': 'false',
'node_shared_http_parser%': 'false',
'node_shared_cares%': 'false',
'node_shared_libuv%': 'false',
'node_use_openssl%': 'true',
'node_shared_openssl%': 'false',
'node_v8_options%': '',
'node_enable_v8_vtunejit%': 'false',
'node_core_target_name%': 'node',
'library_files': [
'lib/internal/bootstrap_node.js',
'lib/async_hooks.js',
'lib/assert.js',
'lib/buffer.js',
'lib/child_process.js', //Remove this line
'lib/console.js',
'lib/constants.js',
'lib/crypto.js',
'lib/cluster.js',
'lib/dgram.js',
'lib/dns.js', //Remove this line too
[...]
请注意,这些模块用于测试和基准测试,例如 child_proccess
、lib/internal/v8_prof_polyfill.js
和 lib/internal/cluster/master.js
我想构建一个特定的 nodejs 作为静态库,没有像 child_process
dns
等内部模块
有没有可配置的方法来解决这个问题?
从 node.gyp 中删除不需要的模块,从 lib
文件夹中删除 .js 文件,从 lib/internal/module.js
中的 builtinLibs
数组中删除它们然后构建它。
{
'variables': {
'v8_use_snapshot%': 'false',
'v8_trace_maps%': 0,
'node_use_dtrace%': 'false',
'node_use_lttng%': 'false',
'node_use_etw%': 'false',
'node_use_perfctr%': 'false',
'node_no_browser_globals%': 'false',
'node_use_v8_platform%': 'true',
'node_use_bundled_v8%': 'true',
'node_shared%': 'false',
'force_dynamic_crt%': 0,
'node_module_version%': '',
'node_shared_zlib%': 'false',
'node_shared_http_parser%': 'false',
'node_shared_cares%': 'false',
'node_shared_libuv%': 'false',
'node_use_openssl%': 'true',
'node_shared_openssl%': 'false',
'node_v8_options%': '',
'node_enable_v8_vtunejit%': 'false',
'node_core_target_name%': 'node',
'library_files': [
'lib/internal/bootstrap_node.js',
'lib/async_hooks.js',
'lib/assert.js',
'lib/buffer.js',
'lib/child_process.js', //Remove this line
'lib/console.js',
'lib/constants.js',
'lib/crypto.js',
'lib/cluster.js',
'lib/dgram.js',
'lib/dns.js', //Remove this line too
[...]
请注意,这些模块用于测试和基准测试,例如 child_proccess
、lib/internal/v8_prof_polyfill.js
和 lib/internal/cluster/master.js