본문으로 바로가기

npm, yarn, lerna

category Frontend 2021. 5. 24. 14:44
    반응형

    npm 명령어

    # js 실행
    node <파일명>
    
    # 글로벌 패키지 설치
    npm -g <패키지명> 
    
    # 프로젝트내 패키지 bin 실행(bin은 package.json에 bin으로 명시된 js)
    npx ts-node
    
    # 글로벌인 경우 bin 실행
    ts-node
    
    # package.json script정의 실행 
    npm run <script명령어>
    

    npm 패키지

            "main": "dist/vuetify.js",
            "module": "dist/vuetify.js",
            "jsdelivr": "dist/vuetify.js",
            "unpkg": "dist/vuetify.js",
            "types": "types/index.d.ts",
            "bin": {
                "nuxt-ts": "bin/nuxt-ts.js",
                "nuxts": "bin/nuxt-ts.js"
            },

    package.json을 통해서 의존성 관리를 한다.

    • main을 비롯한 기능별로 진입점을 설정해줄 수 있다.
    • require('패키지명')을 사용할 시 main에 지정된 js가 호출된다.
    • files 을 통해서 패키지 형성 시 포함될 파일들을 지정해줄 수 있다.
    • 각 모듈은 package.json을 통해서 관리를 하고 해당 패키지에 node_modules를 참조하여 실행된다. 만약 내용이 없다면 위로 올라감.
      실행구조가 각 패키지마다 정해져있다고 보면 된다.

    lerna

    lerna를 통해서 npm, yarn을 사용하여 추가적인 기능을 제공해준다. 내가 알기론 lerna가 monorepo를 제공한다고 들었는데 yarn는 workspace개념으로 monorepo를 제공한다고 들었다. 그런데 프로젝트에서 lerna와 yarn을 같이 사용한다.(?) 무엇때문에? lerna를 좀 더 알아볼 필요가 있을 듯 하다.

    반응형