【问题标题】:what is the 'use' keyword in javascript?javascript中的'use'关键字是什么?
【发布时间】:2017-05-07 05:05:13
【问题描述】:

我正在查看此特定代码行以了解它是什么或查找有关它的一些文档。

https://github.com/adonisjs/adonis-rally/blob/c7378d2c3984bffba1049f50e771318ea447107c/app/Model/Channel.js

const Lucid = use('Lucid')

我正在尝试使用 mocha 在 adonisjs 中编写测试,它给了我以下错误 "ReferenceError: use is not defined"

【问题讨论】:

  • 这不是 Javascript 或 node.js 的标准部分。在那个特定的代码中,它看起来类似于 require() 的东西,它会在您似乎没有可用的某个库中。
  • 没有use关键字。那是一个函数调用——一些库定义了它。您似乎没有加载该库。
  • 查看package.json 以查看已安装的软件包
  • 我从链接到我的项目的那个项目中复制了包 json,但我仍然无法运行测试。我的模型看起来与链接的模型完全相同。

标签: javascript node.js testing mocha.js adonis.js


【解决方案1】:

use()函数由adonis.js提供。

使用(命名空间/别名)

使用其名称空间或别名获取绑定。

adonis-lucid 包中有一个示例,说明如何创建一个看起来与您在问题中链接的代码相同的模型。 Creating a model docs

【讨论】:

  • 感谢您的回答。很难找到文档,而 vue.js 似乎可以解释一大堆。至于为什么我的测试抛出错误,我从链接的 repo 中复制了 test.js,它似乎已经解决了我的问题。我猜这与启动服务器有关吗?
【解决方案2】:

完成答案。 use() 功能由 AdonisJs (adonis-fold) 的 IoC Container 提供。

此函数将尝试解析您的 Adonis 配置文件中定义的绑定或命名空间,然后如果未找到任何内容,将回退到默认的 require() 函数以导入包。

【讨论】:

    猜你喜欢
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 2011-02-09
    • 2011-01-17
    • 2010-12-11
    相关资源
    最近更新 更多