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

前端之家收集整理的这篇文章主要介绍了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.

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

猜你在找的JavaScript相关文章