节点模块的根目录

Ben*_*Ben 15 node.js npm package.json babeljs

我有一个非常标准的节点模块使用babel来转换我们的代码然后输出到'lib'文件夹.package.json将'main'指向'lib/index.js',这样人们就可以了require('my-module')

但是,如果我有一个子目录(例如my-module/server),那么当他们使用my-module时,他们必须这样做require('my-module/lib/server').我已经看到人们把post.buson复制到lib中的post构建步骤,但这对我来说只是感觉hacky和错误.在npm中有没有办法指定一个主目录,我的模块的任何require()都会从该目录开始?然后我可以让用户在没有lib部分的情况下需要('my-module/server')...

小智 1

我认为最好的解决方案是你有一个index.js作为主要模块,上面有所有子模块,这样你就可以做类似的事情require('your-module').server