1

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

我尝试了一些方法来使用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"
    ]
}

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

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

4

3 回答 3

3

不久前我遇到了类似的问题,一个好的简单的解决方案就是将你的本地模块放入私有 git repos(现在在 GitHub 上免费,感谢 Microsoft

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

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

来源,npm 文档

希望有帮助

于 2019-04-21T23:13:57.633 回答
1

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

于 2019-10-01T08:35:43.777 回答
0

我相信艾丽西亚的方法是最干净的。但是对于遇到与我相同的问题的人,即服务器需要一个 tarball,但没有安装 git,我将我的本地包添加到项目中名为 repo 的单独文件夹中,并在 package.json 中将它们引用为;

"dependencies": {
  "my-local-package": "file:./repo/my-local-package"
}
于 2019-04-25T11:11:46.353 回答