학습 Node.js를 (A)

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 수

                    

    •  수출을 필요로 等

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
  • Node.js를 분석을 파일
    • 코드 모듈의 실행의 노드는, 먼저 코드의 최상단 {다음 코드 기능 (수출 요구 모듈 __filename, __dirname)를 추가하면
    • 코드의 맨 아래에 추가}
    • 따라서, 모듈의 코드는 패키징 기능 실행하고있는 동안 수행 다섯 인자 함수에 전달된다
  • 수출과 module.exports의 차이
    • 수출 내부 변수 만이 외측으로 노출하는 구문 예컨대 exports.xxx = XXX;
    • module.exports는 어느 문법 직접 객체에 할당 될 수 있고, 예를 들어 module.exports.xxx = XXX, XXX module.exports = {: YYY};

4, 패키지 및 패키지 관리자

  • 꾸러미
  • 패키지 관리자 (NPM)
    • NPM 패키지 관리 라이브러리 노드는 웹 사이트, 또는 명령이다;

5 문제가 발생

  아니오

추천

출처www.cnblogs.com/wxh0929/p/12074266.html