경로 모듈은 경로 처리를 위해 Node.js에서 공식적으로 제공하는 모듈 입니다. 경로 처리에 대한 사용자의 요구 사항을 충족하기 위해 일련의 메서드와 속성을 제공합니다.
path.join() 메서드는 여러 경로 조각을 전체 경로 문자열로 연결하는 데 사용됩니다
.
...paths(string) 경로 조각의 시퀀스는 연결해야 하는 모든 경로 시리즈입니다.
반환된 값은 문자열입니다.
//경로 모듈 소개 const path=require("path") //접합할 경로를 쓴다. const pathStr=path.join('/a','/b/c','../','./d','e') console.log(경로Str)
경로에 있는 파일 이름의경로의 마지막 부분을 얻으려면 path.basename() 메소드를 사용하십시오. 이 메소드 는
구문 형식을
얻는 데 종종 사용됩니다.. const fpath='./a/b/c/index.html' var 전체 이름=path.basename(fpath) console.log(전체 이름) //지정된 접미사를 갖는 파일 이름을 가져옵니다. const namepath=path.basename(fpath,'.html') console.log(이름경로)
은
경로에서 파일 확장자를 얻는 데 사용됩니다.
path는 필수 매개변수로, 경로를 나타내는 문자열입니다.
반환: 얻은 확장 문자열을 반환합니다.
const path=require("path") const fpath='./a/b/c/d/index.html' const ftext =path.extname(fpath) console.log(ftext)
제공된 코드(한 파일에 html, css, js가 동시에 포함됨)를 index.html index.css index.js라는 세 개의 파일로 분할하고 준비된
에 저장합니다. 파일 : http://127.0.0.1:5500/node/day1/static/index.html소스 코드
1. 각각
<style>
및<script>
태그와 일치하는 두 개의 정규식을 만듭니다.
2. fs 모듈을 사용하여 처리해야 하는 HTML 파일을 읽습니다.
3. index.css 스타일 파일을 작성하도록 resolveCSS 메소드를 사용자 정의하십시오.
4. index.js 스크립트 파일을 작성하도록 resolveJS 메소드를 사용자 정의하십시오.
5. index.html 파일을 작성하기 위해 resolveHTML 메소드를 사용자 정의하십시오.
const path=require('path') const fs=require('fs') const regStyle=/<스타일>[sS]*</스타일>/ const scriptruler=/<스크립트>[sS]*</script>/ //읽을 파일 fs.readFile(path.join(__dirname,'/static/index.html'),'utf-8',function(err,dateStr){ 만약(오류){ return console.log("읽기 실패") } 해결CSS(dateStr) 해결HTML(dateStr) 해결JS(dateStr) })
함수 resolveCSS(htmlStr){ const r1=regStyle.exec(htmlStr) const newcss=r1[0].replace('<style>','').replace('</style>','') //일치하는 CSS를 지정된 index.css 파일에 씁니다. fs.writeFile(path.join(__dirname,'/static/index.css'),newcss,function(err){ if(err) return console.log("가져오기 실패"+err.message) console.log("ojbk") }) } 함수 해결JS(htmlStr){ const r2=scriptruler.exec(htmlStr) const newcss=r2[0].replace('<script>','').replace('</script>','') //일치하는 CSS를 지정된 index.js 파일에 씁니다. fs.writeFile(path.join(__dirname,'/static/index.js'),newcss,function(err){ if(err) return console.log("가져오기 실패"+err.message) console.log("ojbk") }) } 함수 해결HTML(htmlStr){ const newhtml=htmlStr .replace(regStyle,'<link rel="stylesheet" href="./index.css">') .replace(scriptruler,'<script src="./index.js"></script>') //일치하는 CSS를 지정된 index.html 파일에 씁니다. fs.writeFile(path.join(__dirname,'/static/index2.html'),newhtml,function(err){ if(err) return console.log("가져오기 실패"+err.message) console.log("ojbk") }) }
최종 결과는 지정된 파일에서 스타일을 벗겨내는 것입니다
. 그러나 초기 index.html에는 모든 코드가 포함되어 있으므로 스타일 분할 시 저장되는 위치는 여전히 원본이므로 최종 index.html입니다. 코드 상수