首页 > 解决方案 > 在 GJS 中包含二级来源

问题描述

我正在开发一个 Gnome 扩展。因此,我有一个extension.js我所有代码所在的位置。现在我有一些我想使用的其他代码,它存在于一个文件中foo.js,遗憾的是还没有使用严格模式。我怎样才能加载这个foo.js

标签: gnomegnome-shell-extensionsgjs

解决方案


这在现有教程中有所介绍:

// GJS's Built-in Modules are in the top-level
// See: https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Modules.md
const Gettext = imports.gettext;
const Cairo = imports.cairo;

// GNOME APIs are under the `gi` namespace (except Cairo)
// See: https://gjs-docs.gnome.org/
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;

// GNOME Shell imports
const Main = imports.ui.main;
const ExtensionUtils = imports.misc.extensionUtils;

// You can import your modules using the extension object.
// For example, if you had a file named `exampleLib.js` in your extension directory
const Me = ExtensionUtils.getCurrentExtension();
const ExampleLib = Me.imports.exampleLib;

let myObject = new ExampleLib.ExportedClass();
ExampleLib.exportedFunction(0, ExampleLib.EXPORTED_VARIABLE);

推荐阅读