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」的方式,會放在「預設值」的後面。
更多參考
- Github / Gnome / gjs / gjs / importer.cpp