imports.searchPath

概略說明

  • 「imports.searchPath」 是一個陣列,系統會根據這個查找「模組」。
  • 用下列四種方法來巡迴陣列「for」,「foreach」,「for in」,「for of」。
  • 設定「GJS_PATH」這個環境變數或是「gjs -I」來加入元素。
  • 或是直接操作「imports.searchPath」這個陣列,例如「imports.searchPath.push()」。

預設值

imports.searchPath的預設值是「resource:///org/gnome/gjs/modules/」。

請參考這裡的「原始碼」。

設定「GJS_PATH」環境變數

程式碼

export GJS_PATH=./:/tmp:~/gjs
./dump.js

程式碼

GJS_PATH=./:/tmp:~/gjs ./dump.js

用「GJS_PATH」設定,會放在「預設值」的前面。

請參考這裡的「程式碼」和4個陣列巡迴範例。

「gjs -I」或是「gjs --include-path」

程式碼

gjs ./dump.js -I ./ -I /tmp -I ~/gjs

程式碼

gjs ./dump.js --include-path=./ --include-path=/tmp --include-path=~/gjs

執行

gjs -h

可以看到說明。

-I, --include-path=DIR       Add the directory DIR to the list of directories to search for js files.

用「gjs -I」的方式,會放在「預設值」的前面。

Array push

程式碼

#!/usr/bin/gjs

imports.searchPath.push('/usr/lib/gjs-module')
imports.searchPath.push('/usr/lib/gjs-vender-module')
imports.searchPath.push('/usr/lib/gjs-gnome-module')

imports.searchPath.forEach(function(item, key, list) {
    print("Key: ", key);
    print("Item: ", item);
    print("List: ", list);
    print("\n============\n");
});

用「Array push」的方式,會放在「預設值」的後面。

更多參考