给出以下示例。
import { QueryClientContract, TransactionClientContract } from '@ioc:Adonis/Lucid/Database'
使用冒号一直让我感到困惑,不明白导入的文件可以从哪里引用。
给出以下示例。
import { QueryClientContract, TransactionClientContract } from '@ioc:Adonis/Lucid/Database'
使用冒号一直让我感到困惑,不明白导入的文件可以从哪里引用。
模块前缀已经存在一段时间了,尽管直到最近它们并没有影响模块功能(您可以在这里阅读更多关于此开发的信息)。看起来这些模块上的特定前缀是由Adonis.js
的安装过程提供的,鉴于该工具包使用自定义命令来构建项目的生产版本等事项,它可能有一些自定义流程,例如专门为生产构建加载依赖项的最小化版本。
目前还没有标准化的意义或效果来使用这样的前缀,除了node:
(它限制导入核心包并防止您因拼写错误而意外下载恶意软件包)。一些项目将其用于内部目的,具体取决于特定项目前缀可能具有的影响或不影响。
declare module '@ioc:Adonis/Core/Route' {
interface RouteContract {
myCustomMethod: () => void;
}
}
@ioc:Adonis/Core/Route
模块中的RouteContract
接口应该包含一个名为myCustomMethod
的新方法。':'
的用法。如果您还有任何问题,请告诉我!在导入语句中,您正在导入环境模块。我建议您阅读以下文档以了解更多细节。
https://www.typescriptlang.org/docs/handbook/modules.html#ambient-modules
from
值必须是一个字符串常量;它对字符串内容的语义没有任何规定。 - Pointyadonis.js
不是很熟悉,但我猜测它与作用域包有关 https://docs.npmjs.com/about-scopes。一些工具可能已将这些包安装为作用域包,而 node(我假设是 node?)可以解析该包。 - pandamakes