환경 변화로 인해 기회와 도전이 동시에 발생하면서 훌륭한 기술 도약이 진행되었습니다. 나는 JS를 배우지 않았기 때문에 오리를 운전하여 선반에 넣고 함께 배워야했습니다. (><)
1. 먼저 책을 읽으십시오
나는 처음에 "심도 있고 이해하기 쉬운 node.js"를 읽었으며,이 책은 그것을 읽은 후에 특정 기초가 필요하다는 것을 깨달았습니다. 온라인으로 41 페이지의 "노드 소개"를 검색하고 직접 웹 응용 프로그램을 구축하는 법을 배웠습니다. 그리고 성취감을 상쾌하게 한 후, 나는 "The Great Node.js"를 읽습니다. 이제 나는 "심층적이고 이해하기 쉬운 node.js"를 읽은 후 책을 다시 읽을 것입니다.
2. GIT에서 루틴을 실행하기위한 환경 구축 (3 오류보고)
공식 웹 사이트에서 MSI를 다운로드 한 후 다음 방해로 이동하십시오. 명령 NPM 설치를 입력하면 "NPM err! 찾을 수 없음 : git"오류 가보고됩니다. 그 이유는 새 컴퓨터가 git을 따르지 않기 때문입니다.
외부 종속성 패키지를 설치할 때 오류 "gyp err! 구성 오류"가보고되었으며 그 이유는 파이썬 환경이 그렇지 않았기 때문입니다. 또한이 종속성 패키지는 하위 버전으로 만 설치할 수 있습니다. 마지막 오류는 "MSBuild : Error MSB3428 : Visual C ++ 구성 요소"vcbuild.exe "로로드되지 않았습니다. .NET Framework 2.0 SDK 및 MVS2005를 설치 한 후에도 오류는 여전히보고되었습니다. 결정적으로 포기합니다.
3. 첫 번째 웹 응용 프로그램
"Hello World"를 실행 한 후 노드를 기반으로 한 웹 응용 프로그램을 작성하십시오. 먼저 서버 모듈을 시작해야합니다. HTTP 모듈의 CreateServer 함수에 의해 반환 된 객체에는 청취 ([port]) 메소드 청취 포트가 있습니다. 이 함수의 매개 변수는 이상하며 함수 정의입니다. JavaScript에서 함수는 다른 함수로 매개 변수를 수신 할 수 있고 매개 변수 함수를 익명 함수라고합니다. 이 방법을 사용하는 이유는 노드가 이벤트 중심 콜백을 사용하기 때문입니다. 서버가 단일 프로세스에서 요청을 받으면이 기능을 호출하여 요청을 처리합니다. 해당 이벤트가 발생하면 CreateServer 함수는이 기능을 앞뒤로 호출합니다.
HTTP 요청을받은 후에는 요청을 처리해야합니다. 먼저, 우리는 추상적으로 다른 URL을 제안하고 요청에 매개 변수를 얻고 게시합니다. 여기서는 두 개의 내부 모듈 URL (구문 분석 URL)과 쿼리 문자열 (쿼리 문자열 처리)을 사용합니다. 의존성 주입을 통해 라우터 모듈을 추가하십시오. 다음으로, 라우팅을 개선하기 전에 요청을 처리하는 모듈을 완료해야합니다. 모든 요청은 먼저 손잡이를 통해 모듈간에 전달되며 핸들러가 응답 할 수 있습니다. 일반적으로 요청 핸들러가 Onrequest 함수를 통해 사용자에게 표시하려는 정보를 직접 반환합니다 (return ()). 그러나 차단 작업을 수행 할 때는 시간이 많이 걸릴 수 있으므로 차단 작업을 사용해야합니다. 처리하는 데 시간이 걸리는 다른 기능에 대한 인수로 기능을 전달하여 콜백을 사용하십시오. 컨텐츠를 서버로 전달하는 것과 비교하여 이번에 서버를 "전달"하는 방법을 사용합니다. 라우팅을 통해 응답 객체 (서버의 콜백 함수 onrequest ()에서 얻기)를 핸들러로 전달하는 것입니다. 이런 식으로 핸들러는 객체의 함수를 호출 할 수 있습니다.
다음으로, 우리는 처리 단계를 수행하고 양식을 통해 사진을 업로드하고 여기에서는 사진을 수신하기 위해 강력한 외부 종속성 패키지를 사용합니다. 이 모듈은 양식을 처리하고 파일을 업로드하는 데 사용됩니다. 먼저 var form = new Formatable.incomingform (); 양식 개체를 얻으려면. 이 객체의 구문 분석 방법은 데이터를 구문 분석하고 처리 할 수 있습니다. 우리는 단순히 파일을 저장합니다. FS 모듈은 파일을 저장하는 데 사용됩니다. 동기화 된 메소드 rennemync ()를 사용하여 저장된 위치를 지정하고 저장된 위치를 지정하면 이미지 동작을 표시하여 파일 저장 동작을 선행 할 수 있습니다.
사진을 표시하는 것은 매우 간단합니다. FS의 readfile 메소드를 통해 파일을 읽을 수 있습니다. 콜백 함수에서 응답 (파일, "바이너리")을 사용하여 브라우저에 그림을 표시 할 수 있습니다.
요약 :이 루틴을 통해, 우리는 단일 스레딩, 비동기식, 이벤트 구동 등과 같은 Node.js의 기능에 대해 배웠습니다. 이러한 추상 개념 중 일부는 루틴을 통해도 표시되지만 여전히 깊이로 이해해야합니다. 일상을 통해 학습한다는 것은 정보를 이해하지 못할 때 정보를 확인해야한다는 것을 의미합니다. 이 학습 방법은 또한 좋은 입력 출력 유형 방법입니다.