1 노드 기초
-
Node.js를 무엇입니까
Node.js를은 자바 스크립트 기반의 ChromeV8 엔진 운영 환경입니다. Node.js를은 (Node.js를 높은 동시 프로젝트를 처리 할 수있는)이 가볍고 효율적, 이벤트 구동, 비 블록 I / O 모델을 사용
- Node.js를 내용 왜
- 프런트 엔드 엔지니어하지 뒤쪽 끝은 좋은 프런트 엔드 아니다;
- 많은 도구, 쓰기에 사용되는 프런트 엔드 노드, 당신은 Node.js를 배워야 이러한 도구를 기록 할;
- 노드는 백 엔드 언어 서버를 만들 수 있습니다;
- 노드는 노드 데스크톱 응용 프로그램을 작성할 수있는 매우 낮은 수준의 인터페이스를 호출 할 수 있습니다;
- 노드는 운영 체제를 쓸 수 있습니다;
- Node.js를 설치
- 설치 패키지를 다운로드 할 수있는 공식 웹 사이트 http://nodejs.cn/을
- 설치가 완료되면 자동으로 환경 변수를 구성합니다, 당신은 그 중 하나의 디렉토리 node 명령에 액세스 할 수 있습니다
- 콘솔 출력 노드의 버전 번호를보기 -v
- 버전 카테고리 : 큰 버전의 작은 버전 패치 버전 번호 (홀수 버전은 일반적으로 불안정 버전, 테스트의 버전 및 짝수 버전은 안정 버전입니다)
- 최신 버전의 LTS 버전 현재 장기 사용
- 일반적으로 설명하기 위해 사용되는 명령
- 디렉토리 목록 현재 파일 디렉토리의 모든
- 지정된 디렉토리에 CD
- CD. 현재 디렉토리에
- 상위 디렉토리의 CD에 ..
- MD 디렉토리 이름은 폴더를 만들려면
- RD 디렉터리 이름은 폴더를 삭제하기
- CD.> 파일 이름 접미사는 폴더를 만들려면
- 분명 화면 CLS
- 출구 (Ctrl + C) 명령 행을 종료합니다
- 프로세스와 스레드
- 프로세스의 개념
- 자원 할당 및 스케줄링 시스템의 기본 유닛은 기본 운영 시스템 구조이다 (우리는 프로세스 및 절차가 내부에 있는지 코드를 작성 공장 작업장의 등가 )
- 프로그램을 실행하는 과정에 필요한 환경을 제공합니다 (작업 표시 줄을 마우스 오른쪽 버튼으로 클릭 -> 작업 관리자 -> 프로세스)
- 스레드의 개념
- 컴퓨터의 최소 단위는, (작업장에서 작업자의 조작에 상당), 프로그램 프로세스를 구현하는 담당
- 스레드 : JS 단일 스레드된다 시간 슬라이스로 구분
- 멀티 스레딩 : 몇 스레드를 열 수있는 결정을 작업에 따라
- 노드 서버 : 단일 스레드,하지만 매우 강한, 배경 I / O 스레드 풀 스케줄링 (분산 서버 배포)가
- 프로세스의 개념
간단한 안녕하세요를 작성하는 Node.js를을 사용하여 2,
- 다운로드 플러그 - 인 비주얼 스튜디오 코드 플러그 매장 터미널 효과를 보는 동안 터미널을 실행하는 동안, 플러그인 직접 코드 편집기에서 터미널을 열 수 있습니다,이 효과는, 당신은 코드를 작성할 수 있습니다;
- Node.js를 자바 스크립트 런타임 환경이하는 방법
- 명령 줄 cmd를 열고
- 입력 노드 명령, 노드 환경을 시작, 당신은 JS 코드를 작성할 수 있습니다
- + C (.exit) 출구 노드 운영 환경 누르고 Ctrl 키를 두 번
- Node.js를 A는 자바 스크립트 런타임 환경은 브라우저이며, 둘의 차이는 무엇이며, 자바 스크립트 런타임 환경?
- 브라우저 보안 메커니즘, 파일을 작성하거나 디렉토리를 얻을 수없는 다른 브라우저 DOM 개체가 BOM 식별 할 수 있으며, 인터페이스 파일의 바닥을 호출 할 수 없습니다 환경입니다 운영;
- Node.js를이 인터페이스 파일의 바닥을 호출 할 수있는 파일과 디렉토리를 만들 수 있습니다, Node.js를가 DOM 및 BOM의 개념이 없다;
- 서버 노드를 설정
- 노드의 프로젝트 디렉토리를 생성;
- 의 js 파일을 만듭니다;
- (가 카탈로그에 CD 방법을 실행 JS 파일을 실행 은 .js 노드 파일 이름 등의 노드 app.js로 실행)
- 전역 객체 노드
- CONSOLE.LOG의 setTimeout setInterval을 위해 clearInterval
VAR의 시간 = 0 ; VAR 타이머 = setInterval을 (() => { 시간 + = 2 ; 을 console.log ( '$ {시간} 초) passed`을 가지고 있는 경우 (시간> 5 ) { 사항 clearInterval (타이머) } }, 2000 );
- __dirname (현재 파일의 출력 디렉토리)
- __filename (현재 파일의 출력의 절대 경로) LS 수
- CONSOLE.LOG의 setTimeout setInterval을 위해 clearInterval
-
- 수출을 필요로 等
3, Node.js를 개발 모듈을 필요로
- 모듈이 나타납니다
- 프로그램이 어느 정도 확장 할 수 있도록 설계되어있는 경우,이 모듈은 다양한 형태를 취할 수, 모듈해야하지만 모든 메커니즘이 여러 소스 코드 파일로 나눌 수 있습니다 제공합니다. (그는, 서버 측 개발을 필요로하지 않았다 프런트 엔드별로 필요, 그래서 더 모듈 개발은 생각을 처리하지 수);
- 모듈 형 장점 : 기능적인 독립성, 관리 및 후반의 유지 보수의 용이성, 전역 변수의 오염을 방지하기 위해;
- CommonJS 사양
- CommonJS 규범은 주로 자바 스크립트 표준 모듈 결함을 보완하기 위해 제안;
- CommonJS 모듈 형 표준 (규격), Node.js를가 CommonJS 구현 (requireJS AMD의 사양)이다;
- CommonJS 정의 모듈 : 모듈 참조는 ( "경로") 둘, 셋 개 정의 모듈의 모듈 식별자를 필요
- 파일의 관점에서 JS 파일의 각 모듈이다 구조적 관점에서 여러 JS 파일 전체적으로 모듈 일반적인 기능을 달성하기 위해 서로간에 요구할 수도
- Node.js를, 하나 개의 모듈 정의 변수, 함수 등, 단 파일 내의 유효 외부 JS 파일 참조 변수, 함수, 머스트에서 필요할 때 노출 수출 , 사용자 참조하여 필요
- 모듈 참조
- 노드에서 하나의 js 파일은 모듈이다;
- 노출 모듈 함수와 변수, 필요한 수출 키워드는, 단순히 수출의 속성으로 설정 될 수있는 외부 변수 나 방법에 노출 될 필요가
- 노드에 의해 모듈에 외부 소개 () 함수를 필요로 외부 모듈의 도입의 정보는 다음의 제품에 추가 할 수 있습니다. 또는 ...
- 전용 전역 변수 : 하나 개의 모듈에서 변수 및 함수는 다른 모듈 (AIM에 액세스 할 수 있도록 기지국에서 각 JS 파일 JS 코드보다는 글로벌 범위보다 작은 폐쇄 독립적으로 실행될 등) 글로벌 오염을 방지하기 위해
- 모듈 식별
- 우리는 외부 모듈로 도입) (필요로 사용할 때, 상기 식별 모듈은 우리가 모듈 식별자에 의해 지정된 모듈을 찾을 수 있으며, 사용 예를 : CONST sumJs의 = 필요한 ( './ 합')
- 분류 모듈
- (내장 모듈) 핵심 모듈 : 엔진과 node_modules에 의해 모듈 노드가 식별 모듈을 제공 : HTTP, 쿼리 문자열, FS, URL, 이벤트, 경로, 글로벌 ...
- 파일 모듈 (사용자 모듈) 사용자 생성 모듈, 식별 모듈 : 경로 (절대 경로 상대 경로) 파일 노출 모듈 또는 모듈 module.exports를 사용;
- 레벨 모듈 (타사 모듈) : 하단 레이어 C에 의해 준비 ++, 식별 모듈 : EJS는, 관리자, 안녕, 표현 ..., 사용하기 전에, 필요가 설치 될 cnpm / NPM 내가 --save 모듈 이름
- 모듈 형 운동
- CD.> sum.js는 sum.js 파일을 생성 합산 함수 합 변수를 정의하는 PI
// 두 숫자와의 합의 함수 장비 함수 SUM (A, B)을 { // 템플릿 문자열 ES6 사용 복귀 '요소 TWO의 합 IS $ {A + B}` } CONST의 PI = 3.14 @ module.exports 외부 개체를 노출, PI의 합은 그의 결합, 오른쪽 및 PI의 값이 자신의 합이다 // 첫번째 방법 module.exports.sum = SUM module.exports.pi = PI는;
- CD는.> app.js는 app.js 파일 및 사용 기능과 변수 sum.js 내부의 내부를 만들
CONST sumJs 필요 = ( ' ./sum ' ) CONSOLE.LOG (sumJs.sum ( 1 , 6 )) CONSOLE.LOG (sumJs.pi)
- 두 번째 :
module.exports = { 합계 : 합계 PI : PI }
- 세 번째 직접 데이터 내보내기
module.exports = { SUM : 기능 (A, B) { // 템플릿 문자열 ES6 사용 복귀 'TWO 요소의 합은 IS $ {A + B'} } PI : 3.14 }
- 그 결과는 다음과 같습니다
두 가지 요소의 합 이다 7 3.14
- CD.> sum.js는 sum.js 파일을 생성 합산 함수 합 변수를 정의하는 PI
- Node.js를 분석을 파일
- 코드 모듈의 실행의 노드는, 먼저 코드의 최상단 {다음 코드 기능 (수출 요구 모듈 __filename, __dirname)를 추가하면
- 코드의 맨 아래에 추가}
- 따라서, 모듈의 코드는 패키징 기능 실행하고있는 동안 수행 다섯 인자 함수에 전달된다
- 수출과 module.exports의 차이
- 수출 내부 변수 만이 외측으로 노출하는 구문 예컨대 exports.xxx = XXX;
- module.exports는 어느 문법 직접 객체에 할당 될 수 있고, 예를 들어 module.exports.xxx = XXX, XXX module.exports = {: YYY};
4, 패키지 및 패키지 관리자
- 꾸러미
- 패키지 관리자 (NPM)
- NPM 패키지 관리 라이브러리 노드는 웹 사이트, 또는 명령이다;
5 문제가 발생
아니오