노드 란?
Node는 Chrome V8 엔진을 기반으로하는 JavaScript 코드 런타임 환경입니다.
Node.js의 구성
JavaScript 제작자 : ECMAScript, DOM, BOM,
Node.js는 ECMAScript와 파일, 네트워크 및 경로를 포함하여 Node 환경에서 제공하는 일부 추가 API로 구성됩니다.
노드 다운로드 : 공식 웹 사이트로 직접 이동하여 설치 패키지를 찾고 노드 공식 웹 사이트로 다운로드합니다.
내장 객체 소개
분류
전역 개체 : 언제 어디서나 액세스 가능
핵심 개체 : 시스템 요청, 가져 오기 및 사용
사용자 정의 개체 : 경로에 따라 가져 오기만하면됩니다.
프로세스 (전역 개체)
-
process.env는 객체이므로 속성 이름을 통해 특정 환경 변수 값을 가져올 수 있습니다.
특정 환경 변수를 설정하여 서로 다른 기계를 쉽게 구별 할 수 있으므로 생산 / 개발 환경에 대해 서로 다른 효과를 실행할 수 있습니다.
-
process.argv 명령 줄 매개 변수 가져 오기
명령 줄 명령 : set은 시스템 변수를 볼 수 있습니다.
응용 프로그램에서 로컬 컴퓨터와 실제 서버간에 차이가 있어야합니다.
다른 효과를 내기 위해 다른 기계를 차별화
파일 이름 / 디렉터리 이름 (전역 변수)
- __filename 현재 실행중인 파일의 디렉토리, 절대 경로를 가져옵니다.
- __dirname 현재 실행중인 파일의 절대 경로
Node.js 구현 사양
- CommonJS : 백엔드 언어로 실행되도록 JavaScript 언어 표준화
- 능력은 무엇입니까
- 모듈 작성 방법 : Moudle
- 모듈에 따라
- 모듈에 의존해야 함 module.exports = 데이터를 외부로
- 파일은 모듈입니다.
핵심 개체 경로
1. 소개
const path = require('path');
2. 경로-> 처리 경로에 매우 능숙하며 경로에 파일이 있는지 여부를 판단하지 않습니다.
3. 경로를 결합하고 수정합니다. path.join (__ dirname, 'a', 'b')
4. 유효한 경로 문자열을 받아 객체로 바꿉니다.
path.parse
경로를 개체로 조작하는 것이 편리합니다.
5. 경로 개체를 받아 문자열 경로로 변환
path.format
6, path.resolve : 절대 경로에 대한 상대 경로
let patha = path.parse(mypath);
pathb.base = 'mick';
mypath = path.format(patha);
base는 파일 이름이나 접미사를 수정하는 방법으로 사용할 수 있습니다.
node.js
https://nodejs.org/dist/latest-v14.x/docs/api/
JavaScript의 단점
파일 종속성 및 이름 충돌
소프트웨어의 모듈 식 개발
기능은 모듈이며 여러 모듈이 완전한 애플리케이션을 형성 할 수 있으며 모듈을 분리해도 다른 모듈의 작동에 영향을주지 않습니다.
Node.js의 모듈 사양
Node.js는 JavaScript 파일이 모듈이며 모듈에 정의 된 변수 및 함수는 기본적으로 외부에서 사용할 수 없다고 규정합니다.
exports 개체를 사용하여 모듈 내부의 멤버를 내보낼 수 있으며 다른 모듈은 require 메서드를 사용하여 내보낼 수 있습니다.
모듈 반입시 접미사는 생략 가능 (.js)
또 다른 방법 : module.exports
exports는 module.exports의 별칭입니다. 두 개가 동시에 변수를 가리키면 module.exports가 우선합니다.
시스템 모듈
이러한 API는 모듈 방식으로 개발되기 때문에 노드 운영 환경에서 제공하는 API입니다.
시스템 모듈 : fs 파일 작업
- 파일 읽기 및 쓰기
- 기타 기능
- 확장 된 소개
f : 파일 파일, s : 시스템 시스템
파일 내용 읽기
비동기 읽기 : 후속 코드를 차단하지 않습니다.
fs.readFile ( "파일 경로 / 파일 이름"[, '파일 인코딩'], callback); callback : 파일의 읽기 결과를 가져 오는 콜백 함수
동기 읽기
fs.readFileSync(文件路径)
//读取上一级css下的文件
fs.readFile("../css/base.css","utf-8" (err,doc) => {
//如果文件读取发生错误,参数err的值为错误对象,否则err为null
//doc为文件内容
if(err == null){
console.log(doc);
}
})
참고 : 파일 읽기는 하드 디스크의 작업이며 콜백 함수를 호출해야합니다.
파일 내용 쓰기
폴더로 출력
비동기 읽기 및 쓰기
fs.writeFile ( '파일 경로 / 파일 이름', '기록 된 데이터', [flag : a} (append), callback);
Append 메서드 : appendFile ( 'path', 'data', callback);
동기식 읽기 및 쓰기
fs.writeFileSync (파일 경로)
나는 : 입력
컴퓨터의 경우 입력일뿐입니다.
O : 출력
컴퓨터의 경우 데이터 표시 / 쓰기가 출력됩니다.
시스템 모듈 경로 경로 작업
경로 연결
왜? 다른 운영 체제의 경로 구분 기호가 일치하지 않습니다.
문법:
path.join('路径','路径',...);
//导入path
const path = require('path');
const finalpath = path.join('public','uploads','avatar');
console.log(finalpath);
상대 경로와 절대 경로
대부분의 경우 상대 경로는 명령 줄 도구의 현재 작업 디렉토리에 상대적인 경우가 있으므로 절대 경로를 사용하십시오.
파일 경로를 읽거나 설정할 때 절대 경로 선택
__dirname을 사용하여 현재 파일의 절대 경로를 가져온 다음 작업 할 파일 이름의 철자를 입력합니다.