Npm pack 以包含本地模块

Npm pack to include local modules

我有一些本地模块,我想将它们包含在我的包中以发送到服务器。由于这些本地包不在 npm 注册表中,因此它们需要 包的一部分

我已经尝试了一些方法来使用 npm pack 将 node_modules 文件夹包含在包中,但是这似乎根本不可能吗?

其次,我尝试在 package.json 文件的 bundledDepencies 中列出本地模块并使用 npm pack,但是无论如何,这也不包括本地模块;

{
    "name": "dev",
    "version": "1.0.0",
    "main": "main.js",
    "dependencies": {
        "local-module": "file:../../local-module"
    },
    "bundledDependencies": [
        "local-module"
    ]
}

如何将这些本地模块包含在开发包中?

本地模块确实包含 依赖项 本身,不确定这是否会使事情变得更复杂?

前段时间我遇到了类似的问题,一个好的简单的解决方案就是将您的本地模块放入私有 git 存储库(现在在 GitHub、thanks Microsoft )

然后,在您的 package.json 中添加:

"dependencies" : {
  "name1" : "git://github.com/user/project.git#commit-ish",
  "name2" : "git://github.com/user/project.git#commit-ish"
}

来源,npm docs

希望对您有所帮助

我相信 Alicia 的方法是最干净的方法。但是对于遇到和我一样的问题的人,服务器需要 tarball,但没有安装 git,我将我的本地包添加到名为 repo 的项目中的一个单独文件夹中,并在package.json 作为;

"dependencies": {
  "my-local-package": "file:./repo/my-local-package"
}

还有 yalc,它为本地包创建本地存储。将本地包添加到商店后,您可以使用 yalc 将本地包复制到另一个包中。您也可以使用它来更新本地包。