首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >phantomChildren in package.json是什么?

phantomChildren in package.json是什么?
EN

Stack Overflow用户
提问于 2019-07-01 14:01:32
回答 1查看 2K关注 0票数 7

安装模块时,phantomChildren的列表将出现在package.json文件中。什么是phantomChildren

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-05 14:58:54

我没有找到npm package phantomChildren的正式文档。但是遇到了其他一些解释:deps/。它是关于rast的,但是很好地解释了npm依赖项的行为。

例如,库A可以从库BC导入定义,但是BC都可以从D导入,这在这四个包之间创建了一个“菱形依赖”。

当项目使用未在其package.json文件中定义的包时,就会发生“幻影依赖”。

一些活生生的例子:

代码语言:javascript
运行
复制
my-library/package.json

{
  "name": "my-library",
  "version": "1.0.0",
  "main": "lib/index.js",
  "dependencies": {
    "minimatch": "^3.0.4"
  },
  "devDependencies": {
    "rimraf": "^2.6.2"
  }
}

my-library/lib/index.js

var minimatch = require("minimatch")
var expand = require("brace-expansion");  // ???
var glob = require("glob")  // ???

等等-其中两个库没有在package.json文件中声明为依赖项。这到底是怎么回事!?事实证明,支撑展开是最小舱口的依赖,而glob是边缘的依赖。在安装过程中,NPM已经将它们的文件夹夷为平地,使其位于my-library/node_modules下。NodeJS require()函数在那里找到它们,因为它根本不考虑package.json文件就探测文件夹。

总结一下:如果包使用它自己的依赖项,它可以被视为phantomChildren。包没有直接的依赖关系,而是从其他地方使用它。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56837043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档