Node.js Pathモジュール学習

4571 ワード

概要
文書の処理に関するいくつかのツールの参照を提供しています.var path = require("path")追加:
同前dirnameと__filenameの使用
同前dirname:現在のフォルダの絶対パスです.filename:現在のファイルの絶対パスです.
ファイル操作のための経路の相対的な問題は、ファイル動作において、nodeコマンドを実行するディレクトリに対して相対的な経路があるので、この問題を回避するために、ファイル動作の相対的な経路は、動的な絶対パスは、常にpath.join()とpath.resove()を使用することが推奨されている.
注意
vueファイルでの使用と端末nodeでの使用の違いを区別します.
var path = require("path")
console.log(path.join(__dirname));
console.log(path.join(__filename));

//      E:\00vueTest\test.js,  node test.js  ,      :
E:\00vueTest
E:\00vueTest\test.js

// vue     ,     
E:\00vueTest\helloworld\dist\js,     index.html   ,    :
/
/index.js
以下のコードはwindowシステムで操作した結果です.
方法
パスを正規化し、リンク中の「.」,「.」と「/」を処理します.複数の斜め棒は斜め棒に置き換えられます.パスの末尾には斜め棒が含まれています.斜め棒のリンクが含まれていますか?
// node     ,           /   
path.normalize("E:/test/a/b/c///d/test.js") 
//E:\test\a\b\c\d\test.js
path.normalize("E:/test/a//////b/c/d/test.js/")
//E:\test\a\b\c\d\test.js\
path.normalize("E:/test/a/b/.../c/d/test.js////")
//E:\test\a\b\...\c\d\test.js\
path.normalize("E:/test/a///b/./c/d/test.js/..")
//E:\test\a\b\c\d
path.normalize("E:/test/a/b/../c/d/test.js/.")
//E:\test\a\c\d\test.js
パスを接続し、複数のパラメータを接続します.現在のシステムのパスセパレータは正しく使用でき、Unixシステムは「/」、Windowsシステムは「」である.node実行
path.join('test1', 'static_files/png/', '../gif/image.gif')
// test1\static_files\gif\image.gif
path.join('//test1', './static_files/png', '../gif/image.gif/')
// \\test1\static_files\gif\image.gif\
path.join('/test1/', './static_files/png', './gif/image.gif')
// \test1\static_files\png\gif\image.gif
vue包装後の違いは/を変更することです.
path.join('//test1', './static_files/png', '../gif/image.gif/')
// /test1/static_files/gif/image.gif/
path.resove([from...]ト)node実行ファイルのロード力はE:00 vueTesttest.jsです.
path.resolve('/foo/bar', './baz')
// E:\foo\bar\baz
path.resolve('bar', 'baz')
// E:\00vueTest\bar\baz
path.resolve('/foo/bar', '/baz/baz2/')
// E:\baz\baz2
path.resolve('//foo/bar', '/baz/baz2/')
// \\foo\bar\baz\baz2
path.resolve('test1', 'static_files/png/', '../gif/image.gif')
// E:\00vueTest\test1\static_files\gif\image.gif
path.resolve('test1', './static_files/png', '../gif/image.gif')
// E:\00vueTest\test1\static_files\gif\image.gif
path.resolve('test1', './static_files/png', '../gif/image.gif')
// E:\test1\static_files\gif\image.gif
vue包装後の実行は上の結果です.前の「E:」、「E:00 vueTest」と以下のようになります.
path.resolve('//foo/bar', '/baz/baz2/')
// /baz/baz2
path.isAbsoute(pathStr)
パラメータpathStrが絶対パスかどうかを判断します.
path.relative(from、to)
絶対パスを相対パスに変換して、fromからtoまでの相対パス(現在の作業ディレクトリに基づいて)を返します.node実行(vue包装との違いは、バーの方向にあります.)
path.relative('/data/text/test/aaa','/data/text/impl/bbb')
// ..\..\impl\bbb
path.dirname(path)は、フォルダを表す部分に戻ります.
path.dirname('E:/test/a/b/c/d/test.js')
// E:/test/a/b/c/d
path.basename pathStr:処理するpath str:フィルタする文字
path.basename('/foo/bar/baz/aaa/bbb.html')
// bbb.html
path.basename('/foo/bar/baz/aaa/bbb.html', '.html')
// bbb
path.basename('/foo/bar/baz/aaa/', '.html')
// aaa
パス中のファイルのサフィックス名、すなわちパス中の最後の'.'の後の部分をpath.extnameが返します.パスに'.''が含まれていない場合、パスは'.'が一つしか含まれていません.''はパスの最初の文字です.このコマンドは空の文字列を返します.
path.extname('test.js') //.js
path.extname('test') //
path.extname('./test/aaa') //
パス文字列のオブジェクトを返すpath.parse.node端末、vue包装はこの方法をサポートしません.Type Error:path.parse is not a functionを間違えました.
path.parse('E:/test/a/b/c/d/test.js')

{
  root: 'E:/',
  dir: 'E:/test/a/b/c/d',
  base: 'test.js',
  ext: '.js',
  name: 'test'
}
パス文字列をオブジェクトから返します.パス文字列とは反対です.node端末、vue包装はこの方法をサポートしません.Type Error:path.formas is not a functionを間違えました.
var pathObject = path.parse('E:/test/a/b/c/d/test.js')

path.format(pathObject)
// E:/test/a/b/c/d\test.js
属性
path.sepプラットフォームのファイルパスのセパレータ、''または'/'です.path.delimiterプラットフォームのセパレータ、or':'.path.posixは上述のpathの方法を提供しますが、常にposix互換でインタラクションします.上記のpathの方法は、path.win 32に提供されるが、常にwin 32と互換性のある方法でインタラクションされる.