JsModule
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.FILE] )
Denotes an external
declaration that must be imported from native JavaScript library.
The compiler produces the code relevant for the target module system, for example, in case of CommonJS, it will import the declaration via the require(...)
function.
The annotation can be used on top-level external declarations (classes, properties, functions) and files. In case of file (which can't be external
) the following rule applies: all the declarations in the file must be external
. By applying @JsModule(...)
on a file you tell the compiler to import a JavaScript object that contain all the declarations from the file.
Example:
@JsModule("jquery")
external abstract class JQuery() {
// some declarations here
}
@JsModule("jquery")
external fun JQuery(element: Element): JQuery
Content copied to clipboard