ノードパス
3578 ワード
pathの一般的な方法
1.パスモジュール(path)
さまざまなパスがカプセル化されたアクションはBufferと同様で、NodeJSのパスも特殊なモジュールであり、BufferモジュールがGlobalに追加されているため、手動でインポートする必要はなく、PathモジュールがGlobalに追加されていないため、使用時に手動でインポートする必要がある
2.パスの最後の部分を取得
3.パスの取得
4.拡張子名の取得
5.絶対パスか否かを判断する
6.現在のOSパス区切り文字の取得
7.現在のパス環境変数区切り文字の取得
pathその他の方法 1.経路のフォーマット処理 2.接合経路 3.正規化経路 4.相対経路計算 5.解析経路
1.パスモジュール(path)
さまざまなパスがカプセル化されたアクションはBufferと同様で、NodeJSのパスも特殊なモジュールであり、BufferモジュールがGlobalに追加されているため、手動でインポートする必要はなく、PathモジュールがGlobalに追加されていないため、使用時に手動でインポートする必要がある
2.パスの最後の部分を取得
path.basename(path[, ext])
// let res = path.basename('/a/b/c/d/index.html');
// let res = path.basename('/a/b/c/d');
// let res = path.basename('/a/b/c/d/index.html', ".html");
3.パスの取得
path.dirname(path)
// let res = path.dirname('/a/b/c/d/index.html');
// let res = path.dirname('/a/b/c/d');
4.拡張子名の取得
path.extname(path)
// let res = path.extname('/a/b/c/d/index.html');
// let res = path.extname('/a/b/c/d');
5.絶対パスか否かを判断する
path.isAbsolute(path)
/*
:
Linux /
Windows
Linux /
Windows \
*/
// let res = path.isAbsolute('/a/b/c/d/index.html'); // true
// let res = path.isAbsolute('./a/b/c/d/index.html'); // false
// let res = path.isAbsolute('c:\\a\\b\\c\\d\\index.html'); // true
// let res = path.isAbsolute('a\\b\\c\\d\\index.html'); // false
6.現在のOSパス区切り文字の取得
path.delimiter (windows \ Linux /)
7.現在のパス環境変数区切り文字の取得
path.sep (windows ; linux :)
pathその他の方法
// path.parse() string->obj
// path.format() obj->string
/*
path.parse(path):
{
root: '/',
dir: '/a/b/c/d',
base: 'index.html',
ext: '.html',
name: 'index'
}
path.format(pathObject):
* */
/*
// let obj = path.parse("/a/b/c/d/index.html");
// console.log(obj);
let obj = {
root: '/',
dir: '/a/b/c/d',
base: 'index.html',
ext: '.html',
name: 'index'
};
let str = path.format(obj);
console.log(str);
*/
path.join([...paths])
/*
path.join([...paths]):
:
/,
.., ,
* */
/*
// let str = path.join("/a/b", "c"); // /a/b/c
// let str = path.join("/a/b", "/c"); // /a/b/c
// let str = path.join("/a/b", "/c", "../"); // /a/b/c --> /a/b
// let str = path.join("/a/b", "/c", "../../"); // /a/b/c --> /a
// console.log(str);
*/
path.normalize(path)
/*
let res = path.normalize("/a//b///c////d/////index.html");
console.log(res);
*/
path.relative(from, to)
/*
path.relative(from, to):
: /data/orandea/test/aaa
: /data/orandea/impl/bbb
/data/orandea/test/aaa --> ../ --> /data/orandea/test
/data/orandea/test --> ../ --> /data/orandea
..\..\impl\bbb
* */
/*
let res = path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
console.log(res);
*/
path.resolve([...paths])
/*
path.resolve([...paths]):
: ,
* */
// let res = path.resolve('/foo/bar', './baz'); // /foo/bar/baz
// let res = path.resolve('/foo/bar', '../baz'); // /foo/baz
// let res = path.resolve('/foo/bar', '/baz'); // /baz
// console.log(res);