1

我注意到我可以使用 libman 以一种很好的方式将许多库下载到我的 Asp.Net Core 应用程序中。例如,我可以轻松获得最新的@microsoft signalr:

libman-unpkg

但是,在我的应用程序中,我不能依赖外部包源,而是希望将我需要的包存储在我的网络中。我注意到libman支持“文件系统”模式,所以我将所有从unpkg下载的文件复制到我的本地网络驱动器上,我们称之为“L:”

/ L:
  | local_unpkg
     | @microsoft
       | signalr
         | 5.0.2
           | package.json
           | README.md
           | src
             | ... // a lot of files
           | dist
             | browser
             | cjs
             | esm
             | ... // other subfolders

当我尝试使用“文件系统”提供程序时,我只直接在我指定的文件夹中获取文件,没有嵌套文件夹:

unpkg_local

有没有办法以这种方式导入整个包,而无需手动指定 libman.json 文件中的所有子文件夹?

如果不是,当我不想依赖外部包源时,在环境中使用该工具的推荐方法是什么?

4

1 回答 1

1

文件系统提供程序特别不支持递归目录内容。对于其他提供者,包的内容可以通过目录元数据一次性获得。但是对于文件路径,尤其是网络文件路径,迭代文件系统会导致大型(或深度)目录结构的性能极差。在许多情况下,您会输入路径,向导会在您输入时尝试评估内容(例如,一旦您输入L:\,它就会识别该目录并通过网络递归枚举其所有内容)。

于 2021-02-06T07:43:45.707 回答