npm install express-handlebar 설치 후 error MODULE_NOT_FOUND 해결 방법 2번째
설치 이슈로 인해 작업한 내용이 없기에 워킹디렉토리를 새로 만들었다.
우선 잘못한 부분을 정상적으로 설정된 워크 디렉토리와 비교해 보자
express engine 옵션인 -e에 보면 전통적인 ejs
express에서 추천하는 엔진인 pug
그리고 OReilly Web Development with Node & Express 한 권으로 끝내는 Node & Expres 2판 에서 추천하는 view 엔진인 handlebars는 hbs 옵션으로 설치해야한다.
https://handlebarsjs.com/installation/#npm-or-yarn-recommended handlebars 최종버전은 4.X대 이다.
책에는 3점대 버전을 깔도록 되어있었는데 동일한 이름의 패키지가 있어서 문제 되었던 것이다.
$ express -h
Usage: express [options][dir]
Options:
-h, --help output usage information
--version output the version number
-e, --ejs add ejs engine support
--hbs add handlebars engine support
--pug add pug engine support
-H, --hogan add hogan.js engine support
--no-view generate without view engine
-v, --view <engine> add view <engine> support (ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
-c, --css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
--git add .gitignore
-f, --force force on non-empty directory
아래처럼 옵션을 변경해서 설치하면 된다.
express --view=hbs myapp
잘못설치된 패키지들을 정리하고 정상적으로 구동되는지 확인 해 보자
npm install했던것 처럼 npm uninstall 명령어를 통해 잘못 설치한 패키지들을 정리할 수 있다.
npm uninstall express-handlebar
왼쪽의 정상적으로 handlebars 가 정상적으로 설치된 경우 views 폴더 하위에 파일들이 정상적으로 들어가 있다.
삭제 후 정상적으로 재설치하면 진절하게 다음에 수행해야할 명령어들을 알려준다.
ashespia@sw-24 MINGW64 /d/work/expressToDoList
$ cd ../expressToDo
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ npm uninstall express-handlebars
removed 19 packages, and audited 63 packages in 1s
found 0 vulnerabilities
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ npm uninstall isaacs
removed 9 packages, and audited 54 packages in 1s
found 0 vulnerabilities
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ cd ..
ashespia@sw-24 MINGW64 /d/work
$ express --view=hbs expressToDo
destination is not empty, continue? [y/N] Y
create : expressToDo\
create : expressToDo\public\
create : expressToDo\public\javascripts\
create : expressToDo\public\images\
create : expressToDo\public\stylesheets\
create : expressToDo\public\stylesheets\style.css
create : expressToDo\routes\
create : expressToDo\routes\index.js
create : expressToDo\routes\users.js
create : expressToDo\views\
create : expressToDo\views\error.hbs
create : expressToDo\views\index.hbs
create : expressToDo\views\layout.hbs
create : expressToDo\app.js
create : expressToDo\package.json
create : expressToDo\bin\
create : expressToDo\bin\www
change directory:
> cd expressToDo
install dependencies:
> npm install
run the app:
> SET DEBUG=expresstodo:* & npm start
ashespia@sw-24 MINGW64 /d/work
$ ^C
ashespia@sw-24 MINGW64 /d/work
$ cd expressToDo
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ npm install
added 10 packages, and audited 64 packages in 4s
4 vulnerabilities (2 moderate, 2 critical)
To address all issues, run:
npm audit fix --force
Run `npm audit` for details.
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ ^C
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ npm audit fix --force
npm WARN using --force Recommended protections disabled.
npm WARN audit Updating hbs to 4.2.0,which is outside your stated dependency range.
removed 1 package, changed 5 packages, and audited 63 packages in 2s
found 0 vulnerabilities
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ npm install
up to date, audited 63 packages in 1s
found 0 vulnerabilities
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ ^C
ashespia@sw-24 MINGW64 /d/work/expressToDo (main)
$ SET DEBUG=expresstodo:* & npm start
[1] 2444
bash: SET: command not found
> expresstodo@0.0.0 start
> node ./bin/www
cmd를 전부 실행하고 express 기본 포트인 3000로 접속 해 보면 Express 화면이 잘 나오는걸 확인 할 수 있다.
'SW Developer > NodeJS Express' 카테고리의 다른 글
npm doctor 명령어 사용법 및 실행결과 not ok 수정 방법 (0) | 2022.03.10 |
---|---|
npm install express-handlebar 정상 설치 방법 및 view templating engine language (0) | 2022.02.23 |
npm 패키지 설치 삭제 방법 및 전체 명령어 (0) | 2022.02.23 |
Node js Express Error: Cannot find module MODULE_NOT_FOUND 에러 해결(1) (0) | 2022.02.23 |
Node js Express 초기 작업 npm init git hub 연결 (0) | 2022.02.23 |
댓글