我正在实现一个Node模块,我希望用户可以选择将require某些文件作为模块的一部分.例如 :
var M = require('my-module');
var Foo = require('my-module/foo');
考虑到我的模块结构是这样的:
./my-module
  +- lib
  |  +- foo
  |  |  +- index.js
  |  +- index.js
  +- package.json
这是基本package.json文件:
{
  "name": "my-module",
  "version": "0.0.1",
  "description": "My very own super fun module.",
  "main": "lib/index.js"
}
注:不必要的按键是为清楚起见,省略,例如:dependencies,keywords,author等.
如何package.json修改以允许这个"功能"?
将模块结构更改为:
./my-module
  +- lib
  |  +- foo
  |  |  +- index.js
  |  +- index.js
  +- index.js
  +- foo.js
  +- package.json
或者更好的是,像大多数模块一样进行require('my-module/foo')更改。require('my-module').Foo
在 package.json 中设置main是错误的(因为 package.json 是 npm 自己的元数据,不应该与 node.js 有任何关系,例如考虑从 Bower 安装包),所以你不应该无论如何使用它。
| 归档时间: | 
 | 
| 查看次数: | 2543 次 | 
| 最近记录: |