Cannot find module 'ejs' 에러 해결 방법


드디어 node.js 에 나도 입문을 하게 되었다.


node.js 설치 과정은 다른 블로그에도 많이 나와있고 나중에 시간이 되면 포스팅 하기로 하고


이 포스팅 내용을 검색해 들어온 사람들은 이미 설치를 끝내고 나서 진행하다가 찾아 온 사람들이니 생략


그리고 진짜 오늘 시작해본것 이기 때문에 진정한 야매가이드라는걸 잊지 말고


내 포스팅을 전부 신뢰하진 말길....




nodejs 서버에 jsp 같은 파일을 띄우려면 템플릿? 이라는걸 사용해야 한단다


jade도 있고 ejs도 있는데 html이랑 제일 유사하게 생긴게 ejs라고 하길래 어떻게 하는가 찾아 봤더니


ejs를 설치 하란다


그래서 설치 하고 예제에 있는대로 작성하고 서버를 실행시켰더니


Cannot find module 'ejs' 라는 에러가 나타난다





이런게 뜨길래 구글링해서 찾아봤더니


역시나 스택오버플로우 형님들이 해결책들을 제시해 주었다




package.json 이라는 녀석을 열어 보면 저렇게 mvc2에서 디펜던시 해주는것처럼 종속성에 대한 정보가 들어있는 녀석이 있는데


저기에 아마 ejs 라는 동그라미친 부분이 없어서 나오는 에러이다


저부분을 추가해 주면 해결이 된다고 하는데 난 해결이 안된다...



그래서 스크롤을 좀더 내려보니


npm install ejs --save


이렇게 설치를 해야 한다고 한다


npm 명령어중 --save 는


설치된 node 모듈을 pakage.json 파일 내의 디펜던시 목록에 추가 하게 하는 옵션이다.


나도 아직 nodejs 설치 한지 두시간밖에 안지나서 정확히는 모르겠다.



여하튼 에러나는 사람은 저렇게 다시 설치 해보도록 하자



그리고 만약 프로젝트 폴더에 package.json 이 파일이 없다면


프로젝트 등록? 뭐 그게 안된거다


방법은 해당 프로젝트 폴더로 들어가서


npm init 라는 명령어를 실행시켜


어플리케이션을 보관할 디렉토리를 작업 디렉토리로 설정 하도록 하자


대충 엔터치면 지나가는데


해당 어플리케이션 설명이나 리파지토리 뭐 이런거 적으라고 나오는건


알아서 적도록 하자 그냥 엔터쳐서 넘겨도 된다.


그중에


entry point:(index.js) 라고 나오는데


기본 파일의 이름을 지정 하는것 이라고 한다.



ps: 뒤에 --save 붙이는게 의무적인건 아니라고 한다... 근데 난 저거 붙여서


해결했으니까 ㅠ_ㅠ;;; 


ps2: 에러난 이유가 환경 변수의 문제일 수도 있겠다는 제보를 받았다

노드js는 C에 설치 하고 프로젝트폴더는 D에 있어서 

내가 처음에 설치 할떈 글로벌로 설치 하면 드라이브 상관 없이

다 되는 건줄 알고 npm install ejs -g 라는 -g 옵션을 썻는데

이렇게 설치 하면 C에 경로가 잡히가 되는거 아니냐는 의견을 받았음.

확인 해보진 않았지만 혹시나 다른 사람들은 확인해보시길






5. 프로그래밍의 종류


1) 절차적 프로그래밍


절차지향 프로그래밍 혹은 절차지향적 프로그래밍이라고도 불리는 프로그래밍 패러다임의 일종으로서, 때때로 명령형 프로그래밍과 동의어로 쓰이기도 하지만, 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임을 의미하기도 한다. 프로시저는 루틴, 하위프로그램, 서브루틴, 메서드, 함수(수학적 함수와는 다르고 함수형 프로그래밍에 있는 함수와는 비슷한 의미이다.)라고도 하는데, 간단히 말하여 수행되어야 할 연속적인 계산 과정을 포함하고 있다. 프로그램의 아무 위치에서나 프로시저를 호출될 수 있는데, 다른 프로시저에서도 호출 가능하고 심지어는 자기 자신에서도 호출 가능하다.

절차적 프로그래밍은 복잡도가 지나치지 않고 유지보수하기 쉽기 때문에 단순한 순차적 프로그래밍이나 비구조적 프로그래밍보다 여러 상황에서 장점이 많다.



2)구조적 프로그래밍


프로그램을 피라미드와 같은 구조로 만들고 탑-다운(Top-Down)의 형태로 제어하도록 되어 있으며. 구조를 이루는 각각의 단위는 순차, 제어(if,select문 등), 반복(for, while 등)의 세 구조로써 이루어진 프로그래밍 방법론.



3) 객체지향 프로그래밍


객체 지향 프로그래밍은 컴퓨터 프로그램 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.

객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 비판을 받기도 한다.




객체지향 프로그래밍(JAVA) 규칙

1. 두개의 블럭(class 블럭/함수 블럭) - 모듈*

2. 문장의 구분(;)

3. 변수/함수 구분(심볼)




개체(엔티티) - 의미있는 하나의 정보단위




* 모듈이란?


일반적으로 큰 체계의 구성요소이고, 다른 구성요소와 독립적으로 운영된다.

(이미 알고 있는 특성을 갖는 기능 단위로서 부품 집합이고, 그대로 모듈」이라고 해석)

사용이유: 너무 규모가 커지면 작게 나눠서 만들어야 할 필요가 있기 때문

'Yame Programmer > JAVA' 카테고리의 다른 글

[이론] 9.값과 연산자  (0) 2015.06.10
[이론] ASCII / UNICODE  (0) 2015.06.10
[이론] 함수 그리고 객체와 캡슐  (0) 2015.06.03
[이론] WORA(자바 플랫폼)  (0) 2015.06.03
[이론]자바 프로그래밍 이란?  (0) 2015.06.03

+ Recent posts