2024. 11. 8. 07:06ㆍNode.js
Node js 활용
1. CONSOLE.CLEAR()
clear는 모든 입력값이 삭제된다.
즉, console.clear() 메서드는 현재 환경에서 가능한 경우, 콘솔에 기록된 메시지를 모두 지웁니다.
console.log('로딩중...') //로딩중...
console.clear() // clear는 모든 출력이 사라진다.
console.log('---------------')
2. Console.info() : info를 보면 알수있듯이 말그대로 정보를 출력해준다. console.log와 같은 기능을 한다.
Console.warn() : warn은 그림처럼 이러한 노란색 경보 문구로 경보를 표시하고 싶다면 사용 하면 된다.
Console.error() : error는 'Img Error!'라는 에러를 console.error()로 출력한 결과이다. 에러 메세지와 에러가 발생한 코드의 라인 번호나 에러가 난 코드 등 에러에 관한 정보를 담고 있다.
//개발시 콘솔 사용법
console.log('개발 , 디버그') // 개발 , 디버그
console.info('정보') //정보
console.warn('경고') //경고
console.error('에러') // 에러
console.log('---------------')
2. Assert() : assert는 assert에 true인 인자가 주어지면 출력되지 않는다. 그와 반대로 false값인 인자가 주어지면 메세지가 출력된다
//assert() : 조건을 만족하지 않으면 에러 메시지 출력
console.assert(2 == 2, '두 값이 달라요!') //true이므로 아무 출력이 되지 않는다.
console.assert(2 == 3, '두 값이 달라요!') //Assertion failed: 두 값이 달라요!
console.log('---------------')
3.
Console.table() : table은 객체를 표 형태로 출력한다.
Console.dir() : 객체를 출력할때 사용한다.
showHidden : true일 경우 객체의 non-enumrable 열거 불가능한 값이나 symbol 값들도 출력한다. 기본값은 false이다.
depth: 출력 시 객체의 깊이 설정을 할 수 있다. 아래와 같은 복잡한 객체 구조를 출력할 경우에 용이하다.
// 객체 출력
const user = {userid: 'apple', name: '김사과', age: 20, compay: {name: 'SK', addr: '서울 중구'}}
console.log(user)
/*
{
userid: 'apple',
name: '김사과',
age: 20,
compay: { name: 'SK', addr: '서울 중구' }
}
*/
console.table(user)
-->
┌─────────┬──────┬─────────────┬──────────┐
│ (index) │ name │ addr │ Values │
├─────────┼──────┼─────────────┼──────────┤
│ userid │ │ │ 'apple' │
│ name │ │ │ '김사과' │
│ age │ │ │ 20 │
│ compay │ 'SK' │ '서울 중구' │ │
└─────────┴──────┴─────────────┴──────────┘
console.dir(user, {showHidden:true, depth:0})
-->
// depth가 0이므로 detail의 value가 [Object]로 표시된다.
{ userid: 'apple', name: '김사과', age: 20, compay: [Object] }
console.log('---------------')
4. Trace() : 해당 코드의 호출 위치를 출력해준다.
어느 경로로 함수가 불러졌는지 라인 넘버와 파일 위치 등이 출력된다.
// trace 사용
function func1(){
func2()
}
function func2(){
func3()
}
function func3(){
console.log('func3()실행')
console.trace()
}
func1() //func3()실행
// trace
// at func3 (C:\hong\Web\Node.js\10_console.js:37:13)
// at func2 (C:\hong\Web\Node.js\10_console.js:32:5)
// at func1 (C:\hong\Web\Node.js\10_console.js:27:5)
// at Object.<anonymous> (C:\hong\Web\Node.js\10_console.js:40:1)
// at Module._compile (node:internal/modules/cjs/loader:1546:14)
// at Object..js (node:internal/modules/cjs/loader:1689:10)
// at Module.load (node:internal/modules/cjs/loader:1318:32)
// at Function._load (node:internal/modules/cjs/loader:1128:12)
// at TracingChannel.traceSync (node:diagnostics_channel:315:14)
console.log('---------------')
5.
1) console.count :
함수가 몇번 호출되었는지 출력한다.
2) console.countReset :
countReset은 count를 초기화시키는 기능을 한다.
#1.counter.js 파일
let count = 0
function increase(){
count++
}
function getCount(){
return count
}
module.exports.getCount = getCount
module.exports.increase = increase
console.log('--------------------------')
###2.counter.mjs 파일--------------------
let count = 0
export function increase(){
count++
}
export function getCount(){
return count
}
---------------------------------------------
###3.module.mjs 파일---------------------------
import * as counter from "./counter.mjs"
counter.increase()
counter.increase()
counter.increase()
console.log(counter.getCount())
---------------------------------------------------
##4.module.js파일
const counter = require(`./counter`) //require는 import와 비슷한 개념
counter.increase()
counter.increase()
counter.increase()
-->
3
console.log('--------------------------')
console.log(counter.getCount())
6. Path
Path는 경로를 확인 하기위한 용도이다
1)
const path = require('path')
console.log(__dirname) //현재 디렉코리
console.log(__filename) //현재 파일
console.log('-------------------------')
-->
C:\hong\Web\Node.js
C:\hong\Web\Node.js\test.js
-------------------------
2)
const path = require('path')
console.log(path.sep) // \ 출력
console.log(path.delimiter); // ; 출력
console.log('-------------------------')
3)
const path = require('path')
console.log(path.basename(__filename)) //파일 이름만 추출
console.log(path.basename(__filename, '.js')) // 확장자를 제외하구 추출
console.log(path.dirname(__filename)) // 디렉토리만 추출
console.log(path.extname(__filename)) // 파일 확장명만 추출
console.log('-------------------------')
-->
test.js
test
C:\hong\Web\Node.js
.js
-------------------------
4)
const path = require('path')
const parsed = path.parse(__filename)
console.log(parsed) //
// {
// root: 'C:\\',
// dir: 'C:\\hong\\Web\\Node.js',
// base: 'test.js',
// ext: '.js',
// name: 'test'
// }
console.log(parsed.dir) // C:\hong\Web\Node.js
console.log(parsed.base) // test.js
console.log('-----------------')
5)
const path = require('path')
const parsed = path.parse(__filename)
const str = path.format(parsed)
console.log(str) // C:\hong\Web\Node.js\test.js
console.log(`isAbsolute: `, path.isAbsolute(__dirname)) // isAbsolute: true
console.log(`isAbsolute: `, path.isAbsolute(`./12_path.js`)) // isAbsolute: false
6)
File.js :
파일 이름을 변경할때 사용한다.
const fs = require('fs')
// 동기식 (Sync 붙어있으면)
// 동기식 : 무조건 에러처리를 해줘야한다.
//try catch 문
//1.우선 test.txt 파일을 생성후 테스트한다.
//2.그러면 new_test.txt로 변경되있다
try{
fs.renameSync('./test.txt', './new_test.txt')
} catch(e){
console.log(e)
}
-->
test.txt -> new_test.txt로 변경
7)
const fs = require('fs')
// 비동기식
// 별도의 에러처리가 필요하지 않음(null값 출력 후 재실행후 )
// promise로 사용
fs.rename('./test.txt', './new_test.txt', (error) => {
console.log(error)
})
-->
test.txt -> new_test.txt로 변경
8)
const fs = require('fs')
// promises로 사용
fs.promises
.rename('./new_test.txt', './test.txt')
.then(() => console.log('완료'))
.catch(console.error)
-->
new_test.txt -> test.txt로 변경
9)
const fs = require('fs')
// 파일 읽기
fs.readFile('./test.txt', 'utf-8', (error, data) => {
if(data){
console.log(data)
}else{
console.log(error)
}
})
-->
test.txt파일에 있는 내용 출력
7.
readFile : 파일을 읽어준다
writeFile : 파일을 출력해준다
appendFile : 파일을 추가 출력한다
copyFile : 복사한다
mkdir : 디렉토리를 생성해준다
readdir : 현재 디렉토리에 있는 파일(폴더) 리스트를 반환해준다
1) readFile
const { mkdir } = require("fs")
const fs = require('fs').promises
//파일 읽기
fs.readFile('./test.txt','utf-8')
.then((data) => console.log(data))
.catch(console.error)
-->
test.txt에 있는 내용 출력
안녕하세요 Node.js
2) WriteFile
const { mkdir } = require("fs")
const fs = require('fs').promises
// 파일 출력
fs.writeFile('./write.txt', 'Hello Node.js 파일 출력입니다.')
.catch(console.error)
-->
write.txt에 내용은 'Hello Node.js 파일 출력입니다.'라는 파일 생성
3) AppendFile
const { mkdir } = require("fs")
const fs = require('fs').promises
// 파일 추가 출력
fs.appendFile('./write.txt', '\r\n 추가로 글을 입력합니다.')
.catch(console.error)
-->
write.txt 에 내용이 추가된다.
'Hello Node.js 파일 출력입니다.
추가로 글을 입력합니다.'
4) CopyFile
const { mkdir } = require("fs")
const fs = require('fs').promises
//복사
fs.copyFile('./test.txt', './new_test.txt')
.catch(console.error)
-->
new_test.txt 복사 파일로 new_test.txt 파일이 생성된다.
5) Mkdir
const { mkdir } = require("fs")
const fs = require('fs').promises
//디렉토리 생성
fs.mkdir('sub')
.catch(console.log)
-->
sub로 폴더가 생성된다.
6) Readdir
const { mkdir } = require("fs")
const fs = require('fs').promises
// 현재 디렉토리에 있는 파일(폴더) 리스트를 반환
fs.readdir('./')
.then(console.log)
.catch(console.error)
-->
./ 폴더에 있는 파일을 모두 출력한다.
[
'test.html', 'test.js',
'test.txt', 'write.txt'
]
8.
HTTP.mjs
.mjs는 ECMAScript(ES)를 사용하고 잇음을 나타내는 확장명
import, export 구문을 사용할 수 있음
1. package.json 파일에
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon 15_http.mjs"
},
2. 추가후 Command prompt 열어서 npm start 해서 크롬에 http://127.0.0.1:3000/ 치면 Hello World 가 출력된다.
res.end('Hello World!\n');
'Node.js' 카테고리의 다른 글
Node.js의 로직 순서 (0) | 2024.11.12 |
---|---|
Node.js 활용2 (0) | 2024.11.11 |
Node.js POST 방식 (0) | 2024.11.11 |
3. Node.js 활용2 (12) | 2024.11.09 |
Node.js 사용법 (10) | 2024.11.07 |