如何读取外部定义到根 package.json 的依赖项?
Posted
技术标签:
【中文标题】如何读取外部定义到根 package.json 的依赖项?【英文标题】:How to read in dependencies externally defined to the root package.json? 【发布时间】:2021-06-02 04:05:31 【问题描述】:我不确定这会被称为什么。
如果您知道要使用的正确 TERM 或供我参考以学习如何使用的内容,我将不胜感激。
我正在查看我们的项目 package.json 文件,该文件相当大,包含所有依赖项。问题在于,仅通过查看文件,您不知道这些依赖项在应用程序中的哪些位置使用。
有没有办法破解?我正在寻找一种方法来构建 project.json 文件,以便在使用它们的地方定义依赖项。 例如假设我们有这个依赖列表,我们会说它是 3 个区域 [CORE, CHARTS, MAP]
"dependencies":
// CORE
"@angular/common": "~11.1.1",
"@angular/compiler": "~11.1.1",
"@angular/core": "~11.1.1",
"compodoc": "~0.0.41",
// CHART
"chart.js": "~2.9.4",
// MAP
"leaflet": "~1.7.1",
"leaflet.markercluster": "~1.4.1",
"leaflet-maskcanvas": "~1.0.0"
是否可以将 CHART 和 MAP 项移动到外部 package.json 文件或定义依赖关系的文件,例如下面?
"dependencies":
// CORE
"@angular/common": "~11.1.1",
"@angular/compiler": "~11.1.1",
"@angular/core": "~11.1.1",
"compodoc": "~0.0.41",
// CHART
filepathToCHARTPackage.json,
// MAP
filepathToMAPPackage.json
我想要这样做是因为如果在定义的组件或子区域中定义了依赖项,那么维护和清理添加或删除的功能会变得更加容易,而不会留下孤立的引用。
【问题讨论】:
【参考方案1】:在您创建的组件文件夹中,例如src/app/map-world
-
创建一个 package.json 文件,就像在应用程序的根目录中使用的文件一样。
指定该组件所需的包
在根 package.json 文件依赖项中,您引用组件 package.json(见下文)
package.json
"dependencies":
...,
"map-world": "file:src/app/map-world/"
当你像往常一样运行 npm install 时,它会选择组件指定的 package.json 文件并将包依赖项安装在 root/node_modules 文件夹中,而不是子组件文件夹中。
我仍在努力将图像设置到新组件内的文件夹中,而不是在根目录中,而无需从根目录指定完整路径。
【讨论】:
以上是关于如何读取外部定义到根 package.json 的依赖项?的主要内容,如果未能解决你的问题,请参考以下文章
错误类型错误:无法读取未定义的属性(读取“nativeElement”)
万一失败,如何继续运行 package.json 中定义的脚本?
读取包时出错:graceful-fs\package.json