노드 연구 노트 -1 : 노드 소개 + 모듈화

노드 란?

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을 사용하여 현재 파일의 절대 경로를 가져온 다음 작업 할 파일 이름의 철자를 입력합니다.

추천

출처blog.csdn.net/leilei__66/article/details/115268207