Npm包包括本地模块

时间:2019-04-21 20:07:58

标签: node.js npm node-modules package.json npm-pack

我有一些本地模块,我想将其包含在软件包中以发送到服务器。由于这些本地软件包不在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"
    ]
}

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

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

3 个答案:

答案 0 :(得分:1)

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

然后,在您的pop(0)中,添加:

package.json

来源npm docs

希望有帮助

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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