npm多个入口点

时间:2016-10-14 23:24:36

标签: javascript node.js npm

我正在制作一个NPM包,我想知道如何注册多个入口点,以便用户可以选择引入整个库或只是它们打算使用的部分。

例如引入整个库:

const mainLib = require('main-lib');

或只带一部分:

const subLib1 = require('sub-lib-1');
const subLib2 = require('sub-lib-2');

使用package.json的main属性接受多个值似乎很直观,但根据文档似乎并非如此。

1 个答案:

答案 0 :(得分:18)

"主"定义要在仅使用包名称调用require()时要加载的模块。但您也可以在该包中要求特定文件。

例如使用以下包:

- mypackage/
   - main.js   <- "main" in pkg.json
   - moduleA.js
   - src/
     - index.js
     - filaA.js
     - fileB.js
   - package.json

以下内容有效:

require( 'mypackage' )           // resolve to main.js
require( 'mypackage/moduleA' )   // resolve to moduleA.js
require( 'mypackage/src' )       // resolve to src/index.js
require( 'mypackage/src/fileA' ) // resolve to src/fileA.js