Технически это не импорт в Javascript.
Вместо этого в вашем примере кода существует глобальный объект imports
, и вы присваиваете его постоянным переменным.
Вы можете простокак легко написать для ваших заданий:
var St = imports.gi.St;
let Clutter = imports.gi.Clutter;
Это очень специфично для вашего кода и не всегда применимо к Javascript.
Изначально, сам Javascriptне имеет импорта.Вместо этого есть синтаксический сахар, помещенный вокруг «модулей», которые предоставляют сходные функциональные возможности, которые обычно требуют транспилятора для преобразования его в действительный синтаксис javascript.
Существует несколько разновидностей того, как это делается, но два общих шаблонаявляются:
CommonJS
const async = require('async')
и модули ES6
import async from 'async'
Выход из шлюза Поддерживается формат CommonJS, поддерживаемый NodeJS,Поскольку в стандарт были добавлены модули ES6, их можно было использовать с NodeJS двумя способами: 1. Использовать такой инструмент, как Babel, для переноса файлов из модулей ES6 в формат CommonJS или 2: присваивать имена файлам с расширением *.mjs
.
Новые браузеры теперь поддерживают модули ES6, но обычно при веб-развертывании используется комбинация Babel и Webpack для стандартизации вывода в наиболее совместимом диалекте Javascript.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Browser_compatibility