Node.js 如何要求节点子模块的模块

Node.js 如何要求节点子模块的模块,node.js,Node.js,假设模块X有一个Y子模块。从依赖于X的节点应用程序中,如何要求子模块Y var Y=require('X:Y')导致找不到模块“X:Y”最好将Y声明为您自己的依赖项。但如果你真的想这样做,下面是如何做到的: // make sure that module X is loaded into a cache require('X') // get this module from cache var module_X = require.cache[require.resolve('X')]

假设模块X有一个Y子模块。从依赖于X的节点应用程序中,如何要求子模块Y


var Y=require('X:Y')导致
找不到模块“X:Y”

最好将Y声明为您自己的依赖项。但如果你真的想这样做,下面是如何做到的:

// make sure that module X is loaded into a cache
require('X')

// get this module from cache
var module_X = require.cache[require.resolve('X')]

// require submodule Y
var Y = module_X.require('Y')

子模块意味着从X模块中导出

试试看

require('X/path-to-Y')

你能详细说明你为什么要这样做吗?通常这是不赞成的,除非模块
X
显式导出模块
Y
。具有讽刺意味的是,这正是我所需要的(我需要对我的项目的内部Traceur解释器进行编程访问,该解释器只能通过命令行使用)。它至少给了我访问目录的权限来运行它的子进程。