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