작업 경로 문제

1670 단어 Node.js

파일 작업의 상대 경로를 생략할 수 있습니다. /

fs.readFile('data/a.txt', function (err, data) {
  if (err) {
     return console.log(' ')
   }
   console.log(data.toString())
})

 

 fs.readFile('./data/a.txt', function (err, data) {
   if (err) {
     console.log(err)
     return console.log(' ')
   }
   console.log(data.toString())
 })



모듈 로드 중 상대 경로의. /생략할 수 없다

// Error: Cannot find module 'data/foo.js'
 require('data/foo.js')
 require('./data/foo.js')
//   .  
require('/data/foo.js')

 
//    ./data/a.txt  
//    data/a.txt    
//    /data/a.txt   , 
//    c:/xx/xx...   

 
Note: 사용하는 모든 파일 작업 API는 aax 요청과 같이 비동기적입니다.다음에 직접 호출된 내용을 표시하고 요청한 내용을 표시합니다

path 경로 조작 모듈:


path.basename: 경로의 파일 이름을 가져옵니다. (기본적으로 확장자를 포함합니다.)
path.dirname: 경로의 디렉터리 부분 가져오기
path.extname: 경로의 확장자 가져오기
path.parse: 경로를 대상으로 전환
root 및 경로 dir 디렉토리base에 접미사 이름 파일 포함접미사 이름이름 접미사가 없는 파일 이름
path.jion: 경로를 연결할 수 있어요.
path.isAbsolute: 경로가 절대 경로인지 판단
 

Node의 다른 모듈 구성원:


각 모듈에는 Require,express 등 API 외에 두 개의 특별한 구성원이 있습니다.
_dirname: 현재 파일 모듈이 속한 디렉터리의 절대 경로를 동적으로 가져옵니다.
_filename: 현재 파일의 절대 경로를 동적으로 가져옵니다.
_dirname과 -filename은 node 실행 명령의 영향을 받지 않습니다 파일 작업에서 상대적인 경로를 사용하는 것은 신뢰할 수 없다. 왜냐하면 Node에서 파일 작업 경로는 node 명령줄이 있는 경로를 기준으로 하기 때문에 우리는 상대적인 경로를 절대적인 경로로 바꾸어야만 이 문제를 해결할 수 있다.
사용 가능dirname 및filename, 조립 과정 중 path를 사용할 수 있습니다.join () 방법으로 저급 오류를 피하고

좋은 웹페이지 즐겨찾기