ngui/url
獲取當前應用程序的二進制執(zhí)行文件路徑
String
}Example:
// Prints:
// file:///var/containers/Bundle/Application/4F1BD659-601D-4932-8484-D0D1F978F0BE/test.app/test
console.log(url.executable());
獲取當前應用程序的文檔存儲路徑
Example:
// Prints:
// file:///var/mobile/Containers/Data/Application/89A576FE-7BB9-4F26-A456-E9D7F8AD053D/Documents
console.log(url.documents());
// Prints 設置追加路徑參數(shù)的結果:
// file:///var/mobile/Containers/Data/Application/89A576FE-7BB9-4F26-A456-E9D7F8AD053D/Documents/aa.jpeg
console.log(url.documents('aa.jpeg'));
獲取應用程序臨時目錄
獲取應用程序資源目錄
恢復路徑為操作系統(tǒng)可以識別的路徑,一般不需要使用該函數(shù),除非直接調用非NGUI
提供的Native/C/C++函數(shù)
Example:
// Prints: /var/data/test.js
console.log(url.fallback('file:///var/data/test.js'));
獲取當前工作目錄
String
}
設置當前工作目錄,成功后返回true
測試路徑是否為一個絕對路徑
Example:
// Prints:
// true
// true
// false
console.log(url.isAbsolute('/var/kk'));
console.log(url.isAbsolute('http://nodegui.org/'));
console.log(url.isAbsolute('index.jsx'));
格式化傳入的路徑為標準絕對路徑
Example:
// Prints: http://nodegui.org/A/C/test.js
console.log(url.resolve('http://nodegui.org/home', "..", "A", "B", "..", "C", "test.js"));
// Prints:
// true
// file:///var/data/aaa/cc/ddd/kk.jpg
console.log(url.chdir('/var/data'));
console.log(url.resolve('aaa/bbb/../cc/.///ddd/kk.jpg'));
Class: URL
url與path處理類
構造函數(shù),如果傳入非法路徑會拋出異常
[path='']
{String
} 字符串路徑,傳入相對路徑或決對路徑Example:
// cwd: file:///var/data
// Prints: file:///var/data/index.js
var uri = new URL('index.js');
console.log(uri.href);
// Prints: http://nodegui.org/index.html?args=0
var uri2 = new URL('http://nodegui.org/home/../index.html?args=0')
console.log(uri2.href);
// Prints:
// Error: Parse uri error, Illegal URL
new URL('http://nodegui.org:').href
獲取uri完整的href,包括參數(shù)
String
}Example:
// Prints: http://nodegui.org/
console.log(new URL('http://nodegui.org/').href);
獲取文件名稱
String
}// Prints: /aaa/bbbb/ccc/test.js
console.log(new URL('http://nodegui.org/aaa/bbbb/ccc/test.js').filename);
獲取目錄名稱
Example:
// Prints: /aaa/bbbb/ccc
console.log(new URL('http://nodegui.org/aaa/bbbb/ccc/test.js').dirname);
獲取uri查詢參數(shù)
String
}Example:
// Prints: ?a=A&b=B
console.log(new URL('http://nodegui.org/?a=A&b=B').search);
獲取hash參數(shù)
String
}Example:
// Prints: #c=C&d=D
console.log(new URL('http://nodegui.org/?a=A&b=B#c=C&d=D').hash);
獲取主機,返回一個帶端口號的主機名稱
String
}Example:
// Prints: nodegui.org:80
console.log(new URL('http://nodegui.org:81/').host);
獲取主機名稱,不會返回端口號
String
}Example:
// Prints: nodegui.org
console.log(new URL('http://nodegui.org:81/').host);
獲取uri起源,protocol+host
String
}Example:
// Prints: http://nodegui.org:81
console.log(new URL('http://nodegui.org:81/host/index.html').host);
// Prints: file://
console.log(new URL('file:///var/data/index.html').host);
獲取基礎文件名稱
String
}Example:
// Prints: index.html
console.log(new URL('file:///var/data/index.html').basename);
獲取文件擴展名稱
String
}Example:
// Prints: .html
console.log(new URL('file:///var/data/index.html').extname);
獲取主機端口號,如果URL中沒有定義端口號返回一個空字符串
Example:
String
}// Prints: 81
console.log(new URL('http://nodegui.org:81').port);
// Prints 沒有端口號會返回空字符串: ""
console.log(new URL('http://nodegui.org').port);
獲取URL的協(xié)議類型字符串, 例如: 'http:'
|'https'
|'ftp:'
以對像方式返回查詢參數(shù)集合
String
}Example:
// Prints:
// {
// a: "100",
// b: "test"
// }
console.log(new URL('http://nodegui.org/?a=100&b=test').params);
以對像方式返回Hash參數(shù)集合
Object
}Example:
// Prints:
// {
// a: "200",
// b: "300"
// }
console.log(new URL('http://nodegui.org/#a=200&b=300').hashParams);
通過名稱獲取uri參數(shù)值
Example:
// Prints: ok
console.log(new URL('http://nodegui.org/?args=ok').getParam('args'));
設置URL查詢參數(shù)鍵值對,并返回自己
通過名稱刪除URL查詢參數(shù)
name
{String
}刪除URL中的所有查詢參數(shù)
返回與target
的相對路徑
Example:
// Prints: ../A/B/C/test.js
var uri = new URL('http://nodegui.org/home/');
console.log(uri.relative('http://nodegui.org/A/B/C/test.js'));
// Prints: file:///var/data/A/B/C/test.js
var uri2 = new URL('http://nodegui.org/home/');
console.log(uri2.relative('file:///var/data/A/B/C/test.js'));
下面為URL快捷函數(shù),其中第一個參數(shù)都為創(chuàng)建URL對像用到的路徑
更多建議: