创建具有依赖关系的npm程序包

z5btuh9x  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(147)

我有一个分布式node.js项目,我想创建一个包含该项目域的独立包。
首先,我创建了一个名为“common”的包,其中包含一些实用程序:

npm pack

接下来我用同样的方法创建了model. tgz文件,请注意model包使用了common包,所以我把它放在了temp文件夹的“model”里面,所以model包有如下结构:

|_ model
  |_ tmp
    |_common.tgz

看起来很管用。
现在,我想将model.tgz导入到我的主项目中,并将其放入temp文件夹中,但当我运行

npm i

我得到命令:
npm错误!事件错误:没有这样的文件或目录,打开'prj_name/backend/functions/functions/tmp/common-1.0.0.tgz' npm错误!enoent这与npm无法找到文件有关。
我在我的主要项目中解决了这个问题:

|_ main
  |_ tmp
    |_model.tgz 
    |_tmp
      |_common.tgz

因为这有点混乱,有没有办法把common.tgz包含在model.tgz里面,而不需要到处重新导入?谢谢。

3pvhb19x

3pvhb19x1#

原来包中有一个字段可以使用。json:

"bundledDependencies":[],

因此在我的例子中,包模型具有以下package.json:

"dependencies": {
    "common": "file:tmp/common-2.0.0.tgz"
  },
  "bundledDependencies":["common"],

而现在的主要项目只有:

- main
  |_ tmp
    |_model.tgz

相关问题