1

据我阅读本文档中有关“定义依赖项”的这段代码片段了解:

将允许使用任何应用程序来满足依赖关系。session 或 sessions@* 将匹配名称为 sessions 的任何应用程序(例如 Foxx 应用商店中的 sessions 应用程序)。session@1.0.0 将匹配名称为 session 的任何应用的 1.0.0 版本。

Foxx 将查找名称为“会话”的任何依赖项。但是,当我在本地尝试它时,它似乎试图找到安装在/sessions而不是名称“会话”的任何应用程序,如果我使用这种格式“会话@1.0.0”,则会在日志中填充此错误:

[ArangoError 3007: Mountpoint can only contain a-z, A-Z, 0-9 or _.]: [object Arguments]

这是预期的行为吗?我真的希望是否可以按名称而不是挂载点导入应用程序。

4

1 回答 1

1

文档中的简介是指文件中的值manifest.json。清单中的依赖项由映射到格式为的字符串的别名定义<name>@<version>。该字符串的确切含义当前未强制执行,因此它仅用作应用程序的文档。

如果你挂载了一个有依赖的应用,你需要设置依赖(例如使用web前端)。Web 前端的依赖项对话框允许您输入要用于满足依赖项的应用程序的挂载路径。

然后,应用程序本身的代码将能够通过清单中定义的别名引用安装在这些路径上的应用程序的导出。

例如:

  1. 您创建一个名为example的应用程序,具有以下依赖项:

    "dependencies": {"mySessions": "sessions@^1.0.0"}
    
  2. 您安装一个会话应用程序(例如来自 Foxx 应用商店的会话/my-sessions应用程序)并将其安装在.

  3. 您安装示例应用程序并将其安装在其他地方。

  4. 您在 Web 前端打开示例应用程序的应用程序详细信息并打开依赖项对话框(右上角的框图标)。

  5. 该对话框应显示一个名为MySessions的输入字段,并带有一个帮助弹出窗口sessions@^1.0.0

  6. 输入/my-sessions输入字段并保存。

  7. 您的示例应用程序现在应该能够访问应用程序的导出applicationContext.dependencies.mySessions

于 2015-06-29T18:45:55.453 回答