我正在制作一个NPM包,想知道如何注册多个入口,以便用户可以选择引入整个库或仅引入他们想要使用的部分。
例如,要引入整个库:
const mainLib = require('main-lib');
或者只带来其中的一部分:
const subLib1 = require('sub-lib-1');
const subLib2 = require('sub-lib-2');
对我来说,让package.json的主要属性接受多个值似乎是很直观的,但根据文档似乎并不是这样。
我正在制作一个NPM包,想知道如何注册多个入口,以便用户可以选择引入整个库或仅引入他们想要使用的部分。
例如,要引入整个库:
const mainLib = require('main-lib');
const subLib1 = require('sub-lib-1');
const subLib2 = require('sub-lib-2');
对我来说,让package.json的主要属性接受多个值似乎是很直观的,但根据文档似乎并不是这样。
"main"
定义了当你仅使用包名调用 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