방금 첫 번째 NPM 패키지를 만들었습니다. 별거 아니지만 정직한 작업입니다

어제 다음과 같은 NPM 패키지가 존재한다는 사실을 알게 되었습니다.
  • https://www.npmjs.com/package/is-odd
  • https://www.npmjs.com/package/is-even
  • https://www.npmjs.com/package/is-number

  • 나는 이것이 나를 놀라게 하고 즐겁게 했다는 것을 인정해야 한다.

    나는 평균적인 NPM 패키지가 이보다 조금 더 인위적이라고 생각했습니다.

    // is-odd
    
    return (n % 2) === 1;
    


    아니면 이거:

    // is-number
    
    if (typeof num === 'number') {
        return num - num === 0;
      }
    


    하지만 저를 가장 놀라게 한 것은 개발자가 실제로 이러한 패키지를 프로젝트에 대한 종속성으로 사용한다는 것입니다.

    is-odd의 주간 다운로드 수는 500,000회입니다!

    그리고 이 모든 것을 더 우스꽝스럽게 만드는 것은 이 패키지가 자신의 종속성을 가지고 있고 위에서 언급한 is-number 패키지라는 것입니다.

    따라서 is-odd의 최종 크기는 cca가 됩니다. 6.5kB.

    Vanilla JS에서 제공하는 기능을 "구현"하기가 매우 쉬울 때(단 한 줄의 코드만 필요함) 이 패키지나 자매 is-even 패키지가 왜 그렇게 인기가 있는지 이해할 수 없습니다.

    하지만 오해하지 마세요. 나는 부정적이 되려고 하지 않습니다.

    이러한 패키지가 존재하는 이유와 인기를 얻은 이유를 누가 압니까?

    예를 들어, 이유 중 하나는 작성자가 NPM에 패키지를 게시하는 방법을 연습했기 때문에 처음에 is-odd를 만들었기 때문일 수 있습니다.

    그러나 이것은 이 시점에서 단지 추측일 뿐이며 이 게시물의 나머지 부분 및 이야기의 교훈과는 무관합니다 :)

    게시물의 주요 주제에 도달하기 전에 제 동기를 설명하고 싶었습니다.

    나는 당신에게 내 자신의 첫 번째 NPM 패키지인 linear-array를 발표합니다.



    여기 있습니다: https://www.npmjs.com/package/linear-array

    확실히 하기 위해, 나는 이 패키지의 실제 쓸모가 없다는 것을 완전히 알고 있습니다.

    그러나 이미 언급된 이유 때문에 어쨌든 그것을 만들기로 결정했습니다. 더 중요한 것은 NPM 패키지가 게시되는 방법을 배우고 싶었기 때문입니다.

    기능:

    0에서 시작하여 주어진 값까지 - 1(오프셋 없음) 또는 1에서 값 자체(오프셋 포함)까지 선형적으로 증가하는 숫자가 포함된 배열을 반환합니다.

    사용 방법:

    import linearArray from 'linear-array'; // web
    
    OR
    
    const linearArray = require('linear-array'); // server
    
    
    console.log(linearArray(1)); //=> [0]
    console.log(linearArray(3)); //=> [0,1,2]
    console.log(linearArray(5)); //=> [0,1,2,3,4]
    
    console.log(linearArray(1, true)); //=> [1]
    console.log(linearArray(3, true)); //=> [1,2,3]
    console.log(linearArray(5, true)); //=> [1,2,3,4,5]
    


    그래서 이 모든 것이 실제로 그리 복잡하지 않다는 것이 밝혀졌습니다.



    이를 수행하는 방법에 대한 간단한 워크플로우는 다음과 같습니다.
  • 생성할 수 있는 패키지와 고유한 이름을 생각하십시오(이름이 아직 지정되지 않았는지 NPM 저장소에서 확인)
  • 향후 NPM 패키지와 동일한 이름으로 로컬 폴더를 생성합니다
  • .
  • 필요한 파일(원하는 경우 index.js, README, LICENSE 및 test.js)을 추가하고 마크다운 및 코드로 채웁니다
  • .
  • 실행
    git init
    터미널에서
  • 로컬 프로젝트 이름과 동일한 이름으로 Github 저장소로 푸시
  • 실행
    npm init
    터미널에서
  • https://www.npmjs.com/에 프로필을 등록하세요.
  • 실행
    npm login
    터미널에서
  • 실행
    npm publish
    터미널에서

  • 어딘가에 막히면 ​​linear-array의 프로젝트 저장소를 살펴보십시오.

    그게 다야.



    이 글을 끝까지 읽어주셔서 감사합니다.

    이야기의 교훈은 NPM 패키지에 대한 당신의 아이디어가 형편없다고 생각해도 상관없다는 것입니다.

    중요한 것은 배움의 여정입니다.

    그리고 이렇게 새로운 것을 시도하는 것이 재미있기 때문입니다.

    추신

    내 패키지의 일부 용도를 실제로 발견하고 프로젝트에 설치하기로 결정했다면 다시 생각해 보고 실제로 그렇게 하지 않기를 간곡히 부탁드립니다. 😂

    프로젝트 저장소 페이지의 index.js 파일에서 직접 코드를 복사하기만 하면 됩니다.

    건배!

    좋은 웹페이지 즐겨찾기