javascript - 如何在Gjs代码中设置包含路径?

标签 javascript path gnome import gjs

如我所见,Gjs imports,仅加载 /usr/share/gjs-1.0/usr/lib/gjs-1.0 默认情况下。我想模块化应用程序,就像我们可以对节点所做的那样,但我必须找到与脚本文件相关的模块。

我发现了这两种添加包含路径的方法:

  1. gjs --include-path=my-modules my-script.js
  2. GJS_PATH=my-modules gjs my-script.js

...但是两者都与当前目录相关,而不是与文件相关(显然),并且它们需要在命令行上声明,这使得这变得不必要的复杂。

如何在 Gjs 代码中设置包含路径? (所以我可以使它与文件相关)

或者...还有另一种从任何地方导入文件的方法,比如在 python 中?

(拜托,你不需要建议使用 shellscript 启动器来解决 --include-pathGJS_PATH 问题。这是显而易见的,但功能较弱。如果我们没有更好的解决方案,我们只能靠它生存。)

最佳答案

您需要设置或修改 imports.searchPath(这并不明显,因为它不会显示为 for (x in imports)print(x)) .所以这个:

imports.searchPath.unshift('.');
var foo = imports.foo;

导入文件“foo.js”作为foo对象。

这与 Seed 兼容,尽管 imports 知道它有一个 searchPath

(此答案的早期版本不太准确,更具煽动性。抱歉)。

关于javascript - 如何在Gjs代码中设置包含路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10093102/

相关文章:

javascript - 从带有字符串的关联数组中获取值

javascript - 声明构造函数的优点/缺点

HTML 相对路径导致导航菜单中出现 404 错误

linux - 将 bash 脚本添加到路径

linux - 如何以编程方式在 GNOME 中设置自定义文件夹图标?

linux - 如何获取依赖项 'gstreamer-sharp-1.0' ?

Python gnomekeyring 获取 key 的属性

java - 返回java中的匿名对象

javascript - 带有正则表达式模式的html5输入类型数字

python - os.path 等同于 python 中的 web url?