[解決済み] Node.jsのpath.normalizeとpath.resolveの違いについて
質問
の違いは何ですか?
path.normalize(your_path)
と
path.resolve(your_path)
?
私は知っている
path.resolve(...)
が複数の引数を受け付けることは知っていますが、引数が1つの場合の動作は
path.normalize()
?
EDITです。
もし、同じように動作することになっているのであれば、私はこのような
path.normalize(...)
関数にパスを渡すことができるのに
path.resolve(...)
あるいは、ドキュメンテーションのためかもしれません。 例えば、彼らは
path.resolve(...)
:
... 結果のパスは正規化され、...
を公開することで
path.normalize(...)
を公開することで、"normalized"の意味を説明しやすくなるのでしょうか? わかりません。
どのように解決するのですか?
path.normalize
は、余分な
.
,
..
などをパスで指定します。
path.resolve
は、パスを絶対パスに解決します。例(現在の作業ディレクトリが
/Users/mtilley/src/testing
):
> path.normalize('../../src/../src/node')
'../../src/node'
> path.resolve('../../src/../src/node')
'/Users/mtilley/src/node'
言い換えると
path.normalize
は "入力と同じ場所に行ける最短経路は何か" であるのに対して
path.resolve
は "この道を通ったら目的地はどこか".です。
ただし
path.normalize()
は
ずっと
よりも文脈に依存しない
path.resolve()
. があった。
path.normalize()
コンテキスト
デ
を適用していた場合 (つまり、現在の作業ディレクトリを考慮していた場合)、 上記の例の結果は次のようになります。
../node
という結果になったでしょう。
/Users/mtilley/src/testing
から
/Users/mtilley/src/node
.
皮肉なことに、これは
path.resolve()
は絶対的な意味での相対パスを生成しますが (どこで実行しても同じ結果になります)、一方
path.normalize()
は相対パスで絶対パスを生成します (絶対結果を計算したい相対パスで実行する必要があります)。
関連
-
webpack ENOENTソリューションの起動
-
[解決済み] package.jsonのチルダ(~)とキャレット(^)の違いは何ですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】mongoError: トポロジーが破壊されました
-
[解決済み】「安全なTLS接続が確立される前にクライアントのネットワークソケットが切断されました」(ノード10
-
[解決済み】AWS Lambdaでnodejsの「ref」モジュールを使用すると「invalid ELF header」と表示される件
-
[解決済み】Google spreadsheet api Requestに不十分な認証スコープがあった。
-
[解決済み】MongoDBのデータ/DBが見つからない
-
webpack ENOENTソリューションの起動
-
[解決済み] AWS s3 api error: specified bucket does not exist.
-
[解決済み] Npmエラー - Windows NT - 解決方法
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] "致命的なエラーです。grunt "コマンドを実行すると、"Unable to find local grunt. "と表示されます。