如何获得npm可用但未安装在本地的模块树?

NPM ll负责本地安装的包。但对于未安装的模块或全局安装的模块,它不起作用。

我试过npm列表鲍尔,但那不是它。


当前回答

如果你正在使用纱线,那么你可以从项目的根目录中使用纱线列表。它会给你一个所有传递依赖关系的树状结构,如下所示:

├─ @ampproject/toolbox-core@2.7.4
│  ├─ cross-fetch@3.0.6
│  └─ lru-cache@6.0.0
├─ @ampproject/toolbox-optimizer@2.7.0-alpha.1
│  ├─ @ampproject/toolbox-core@^2.6.0
│  ├─ @ampproject/toolbox-runtime-version@^2.7.0-alpha.1
│  ├─ @ampproject/toolbox-script-csp@^2.5.4
│  ├─ @ampproject/toolbox-validator-rules@^2.5.4
│  ├─ abort-controller@3.0.0
│  ├─ cross-fetch@3.0.5
│  ├─ cross-fetch@3.0.5
│  │  └─ node-fetch@2.6.0
│  ├─ cssnano-preset-simple@1.2.0
│  │  ├─ caniuse-lite@^1.0.30001093
│  │  ├─ postcss@^7.0.32
│  │  └─ postcss@7.0.35
│  │     ├─ chalk@^2.4.2
│  │     ├─ source-map@^0.6.1
│  │     └─ supports-color@^6.1.0

其他回答

可以使用npm-remote-ls模块。你可以全局安装它:

npm install -g npm-remote-ls

然后调用:

npm-remote-ls bower

或者,npm@5.2.0安装后,你可以使用npx,避免全局安装命令-只需调用:

npx npm-remote-ls bower

还有一个很好的web应用程序,可以在加权地图类的视图中查看依赖关系。

例如:

https://bundlephobia.com/result?p=sanitize-html@1.19.1

这个命令以树形结构输出所有依赖的模块:

npm ls -a

该站点允许您以2D或3D节点图的形式查看包树。

http://npm.anvaka.com/#/view/2d/waterline

@Avanka干得好!

这是一个没有权力的官方命令:

npm view <PACKAGE> dependencies

它只打印直接依赖项,而不是整个树。