javascript - npm 多个入口点

标签 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 属性接受多个值对我来说似乎很直观,但根据文档,情况似乎并非如此。

最佳答案

"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

关于javascript - npm 多个入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40053344/

相关文章:

javascript - 在 JavaScript 中,Object Literal Notation 不就是字典的别称吗?

javascript - JSLint "disallow insecure in regex"选项的用途

javascript - 使用 Controller 中对象的位置 x,y 创建动态网格或表格 - bootstrap、AngularJS

javascript - 使用 Jquery(甚至只是 Javascript),如何将命令链接在一起

javascript - 如何为浏览器将 ES6 代码编译为 ES5?

node.js - 如何在 Mongoose 中定义一个名为 "type"的键?

javascript - sequelize 和 postgres 按距点的距离排序

angular - _angular_core.Version 不是更新 Angular 2 后的构造函数

node.js - 无法清除 npx 缓存并安装新版本的 create-react-app 即 5.0.0

javascript - 在多个 Browserify 或 Webpack 包中共享通过 NPM 加载的模块的简单解决方案