반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

taenyLog

Node Js | Module / NPM 본문

Web

Node Js | Module / NPM

taenyLog 2023. 6. 21. 05:03
반응형

Module.exports 사용

서로 다른 파일 간에 JavaScript코드를 공유하는 법

module.exports의 콘텐츠를 불러옴.

 

보통은 문자열을 불러오지않는다.

아래와 같은 방법을 씀

 

 

 

app.js에서 math.add를 콘솔에 찍으면 아래와 같은 방식으로 출력됨

 

 

아래와 같이 구조분해도 가능

 

위와 같은 코드로 처음부터 PI와 square만 참조하게 변형도 가능하다

 

 

module.exports전체를 대체하는 방법

 

직접 module.exports를 추가하는 방법

 

!!

exports변수는 모듈의 파일 수준 범위 내에서 사용할 수 있으며 모듈이 평가되기 전에 module.exports의 값이 지정된다.

단축어 구문도 가능해서  module.exports.f =  를 exports.f = ...로 쓸 수 도 있다.

하지만 다른 변수들과 마찬가지로 exports에 새 값이 지정되면 더이상 module.exports를 따르지 않는다

 

디렉터리의 필요성 

디렉터리 전체를 불러올 수 있다.

 

shelter 디렉터리 전체 불러오기

app.js

const cats = require('./shelter1')
console.log("REQUIRED AN ENTIRE DIRECTORY",cats)

 

 

NPM 개요(Node Package Manager)

노드 패키지 매니저

NPM is really two things

1. A library of thousands of packages published by other developers that we can  use for free! 

React나 Express에 대한 패키지 등

2. A commnad line tool to easily install and manage those packages in our Node Projects

 

패키지는 다른 사람이 쓴 코드인데 보통 우리가 가져다가 자체 프로젝트에 통합시킬 수 있도록 쓰여진 코드이다.

NPM은 그런 노드 패키지를 위한 표준화된 저장소로 노드패키지 매니저를 뜻하며 이 Node는 NPM 명령줄 도구와 같이 제공되어 손쉽게 설치하고 관리 가능

 

 

패키지 설치 - Jokes와 Rainbow

https://www.npmjs.com/

 

npm

Bring the best of open source to you, your team, and your company Relied upon by more than 17 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java

www.npmjs.com

give-me-a-joke

https://www.npmjs.com/package/give-me-a-joke

 

give-me-a-joke

A npm-module for random and customized jokes.. Latest version: 0.5.1, last published: 2 years ago. Start using give-me-a-joke in your project by running `npm i give-me-a-joke`. There are 81 other projects in the npm registry using give-me-a-joke.

www.npmjs.com

 

Jokester폴더를 만들고 npm 설치해보자.

 

node_modules폴더에 많은 의존성이 존재하는 것을 볼 수 있다.

 

index.js 파일을 만들고 give-me-a-joke패키지에서 내보낸 메서드를 확인해보자

 

 

npm install 뒤에 패키지 이름을 쓰고 실행시켜 give-me-a-joke패키지를 성공적으로 설치함

npm i 로도 쓸 수 있음.

 

npm i colors 패키지를 설치하여 적용시켜본 모습은 아래와 같다.

 

 

글로벌 패키지 추가

패키지의 지역 설치 및 전역 설치

https://www.npmjs.com/package/cowsay

 

cowsay

cowsay is a configurable talking cow. Latest version: 1.5.0, last published: 2 years ago. Start using cowsay in your project by running `npm i cowsay`. There are 230 other projects in the npm registry using cowsay.

www.npmjs.com

 

패키지 전역 설치시 -g 플래그 추가

npm install -g cowsay

 

 

 

 

 

Package.json의 중요성

author에 taeny 입력시 json에도 입력된것을 볼 수 있다.

 

 

 

npm i color 설치시 .json파일에도 정보가 보이는 것을 볼 수 있다..

++) 요약

npm init으로 손쉽게 package.json을 만들 수 있다.

거기엔 우리가 입력하는 답변들로 채워짐

 package.json파일은 NPM이나 노드에서 쓰이는 특별한 파일로 작업하고있는 프로젝트나 패키지 등에 대한 메타 데이터 포함한다

보통은 루트디렉터리에 넣는다.

또한 디펜던시 설치시 그 디펜던시들이 자동으로  package.json나  package.json파일의 디펜던시 섹션에 추가됨

이것이 유용한 이유는

1. 일단 착수 중인 작업에 대한 기록을 남길 수 있다.

2. 다른 사람이나 다른기기에서 내 자신에게 이 파일을 공유할 때 실제로 이 모든 디펜던시들을 한번에 바로 다운 가능

 

 

 

한 프로젝트에 대한 모든 종속 요소 설치

node_modoule은 보통 공유하지않는다(깃,깃허브 같은 도구를 사용할 경우엔 더욱 그렇다)

만약 깃에서 코드를 다운받았을 경우

프로젝트 루트디렉토리안  package.json이 있는곳에 코드를 내려받고

npm install 을 입력하여 필요한 모든 디펜던시를 다운받자.  

npm install 명령이 package.json을 살펴보고 모든 디펜던시를 다운 받을 것이다.

 

 

 

언어인식기 과제 

 

 

언어 맞추기 프로젝트

 

https://taenylife.tistory.com/59

 

NodeJS | 언어 맞추기 프로젝트

 

taenylife.tistory.com

 

반응형