微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

正如我所看到的,Gjs导入,认只加载/usr/share/gjs-1.0和/usr/lib/gjs-1.0.我想模块化一个应用程序,就像我们可以用节点做的那样,但我必须找到相对于脚本文件的模块.

我找到了两种添加包含路径的方法

> gjs –include-path = my-modules my-script.js
> GJS_PATH = my-modules gjs my-script.js

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

如何在Gjs代码中设置包含路径? (所以我可以使这个相对于文件)

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

(请你,你不需要建议使用一个shellcript启动器来解决–include-path和GJS_PATH问题.这很明显,但不那么强大.如果我们没有更好的解决方案,我们就能幸存下来.)

解决方法

您需要设置或修改imports.searchPath(这并不明显,因为它没有显示for(x in imports)print(x)).所以这:
imports.searchPath.unshift('.');
var foo = imports.foo;

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

这与Seed兼容,虽然有进口知道它有一个searchPath.

(这个答案的早期版本实际上不太准确,更具煽动性.抱歉).

原文地址:https://www.jb51.cc/js/155478.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐