开发3个相关节点模块;NPM 的结构



我正在开发一个节点包(canto34),我以前作为单个文件分发,canto34.js .

源代码已经发展到有三个模块,所以现在它包含我想分发的三个文件;

  • canto34.js -- 核心
  • canto34-expect.js -- TDD代码依赖于核心。
  • canto34-syntax.js -- 依赖于核心并提供语法突出显示。

是否可以将某些东西捆绑到 npm 以提供三个不同的模块(以便我可以使用单个包安装它;

npm install canto34 --save-dev

然后包括其中任何一个;

import * as canto34 from 'canto34'
import * as canto34Syntax from 'canto34-syntax'
import * as canto34Expect from 'canto34-expect'

如果可能,您需要在package.json文件中执行哪些操作?

具体来说,你要问的是:不,这是不可能的。
但是,您可以进行拆分导出并执行以下操作:

但请记住,这会改变您访问模块的方式,因此您需要更新Readme并注意语义版本控制,您不能只将其称为patch

模块

module.exports = {
    main: canto34,
    syntax: canto34Syntax,
    expect: canto34Expect
}

应用程序

import {main, syntax, expect} from 'canto34';

最新更新