Node14 檔案路徑

2021-09-20 09:42:32 字數 2160 閱讀 5579

node.js中的檔案路徑主要有以下幾種:

__dirname__filenameproces.cwd()./../

其中前三個是絕對路徑,後兩個是相對路徑 ,可以通過path.resolve轉換為絕對路徑

我現在的目錄結構是這樣的:

d:/

-projects/

path-test/

path.js

path.js:

const path = require('path')

console.log('__dirname:', __dirname)

console.log('__filename:', __filename)

console.log('process.cwd():', process.cwd())

console.log('./:', path.resolve('./'))

path-test資料夾下用node執行path.js,輸出結果:

__dirname:     d:\projects\path-test

__filename: d:\projects\path-test\path.js

process.cwd(): d:\projects\path-test

./: d:\projects\path-test

projectst資料夾下用node執行path.js

__dirname:     d:\projects\path-test

__filename: d:\projects\path-test\path.js

process.cwd(): d:\projects

./: d:\projects

關於他們的區別:

process.cwd()是程式的執行路徑,./相同

__dirname是被執行的js檔案所在資料夾的絕對路徑

__filename是被執行的js檔案的絕對路徑,與__dirname一樣,都是js檔案本身的屬性

用於連線路徑,主要用於針對不同系統(windows/unix)使用當前系統的路徑分隔符

var path = require('path');

path.join(mydir, "foo");

上面**在unix系統下,會返回路徑mydir/foo

用於將相對路徑轉為絕對路徑

它可以接受多個引數,依次表示所要進入的路徑,直到將最後乙個引數轉為絕對路徑。如果根據引數無法得到絕對路徑,就以當前所在路徑作為基準。除了根目錄,該方法的返回值都不帶尾部的斜槓。

// 例項

path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')

上面**的例項,執行效果類似下面的命令。

$ cd foo/bar

$ cd /tmp/file/

$ cd ..

$ cd a/../subfile

$ pwd

path.resolve('/foo/bar', './baz')

// '/foo/bar/baz'

path.resolve('/foo/bar', '/tmp/file/')

// '/tmp/file'

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')

// 如果當前目錄是/home/myself/node,返回

// /home/myself/node/wwwroot/static_files/gif/image.gif

node14 分層結構資料庫操作

函式 函式作為引數 0.外層函式呼叫的地方,一定是外層函式體先執行,函式和普通函式位址一樣,然後看函式體規定 函式怎麼執行。1.非同步時候使用 函式,無論是否非同步,函式相當於在函式呼叫地方,使用函式的返回值。2.函式也可以看成是擴充套件了函式體的功能,因為 函式可以不一樣,其餘是公用的功能。3.函...

python 14 檔案操作

python中對檔案的讀寫也是非常方便的,本章節將講解讀 寫 讀寫等常用操作。下面講師必要的引數 1 檔案路徑 必須得知道檔案的路徑,不然怎樣進行讀寫?2 編碼方式 utf 8,gbk,gb2312.python3的str是unicode編碼儲存的,我們一般常用utf 8存在,編碼不了解的話容易出現...

C語言基礎 14 檔案操作

calderon函式也可以動態分配記憶體 這個函式可以把分配的所有記憶體內容都設定成0 這個函式也需要包含 stdlib.h標頭檔案 這個函式需要兩個引數,第乙個引數表示希望分配的儲存區個數,第二個引數表示單個儲存區的大小 這個函式的返回值是分配好的第乙個儲存區的位址 這個函式也可能失敗,如果失敗則...