Open SoYoung210 opened 4 years ago
GitHub을 이용해서 npm package를 관리할 수 있는 기능이 오픈되었다. (2019.12.2 기준 아직 Beta) 이 과정에서 몇 가지 알게 된점과 삽질기는 다음과 같다.
npx create-react-app my-app 으로 라이브러리를 사용할 수 있는 이유가 무엇일까? 바로 CRA의 package.json에 있는 bin이라는 속성 덕분이다.
npx create-react-app my-app
package.json
bin
"bin": { "create-react-app": "./index.js" },
이렇게 명시할시, usr/local/bin 경로에 파일이 추가된다. 터미널에 명령어 입력시 어떤 파일을 실행해야 하는지에 대한 것이다.
usr/local/bin
create-react-app -> ../lib/node_modules/create-react-app/index.js
이 구문은, create-react-app으로 명령어 실행시 -> 가 가리키는 파일을 실행하겠다는 것이다. node 환경에서 실행되어야 하므로 저 파일의 상단에는 꼭 다음과 같은 설정이 명시되어야 한다.
->
#!/usr/bin/env node
실제로 CRA의 코드를 살펴보면 확인할 수 있다.
배포하려고 하는 package name에 org prefix를 붙이지 않았다.
{ "name": "my-lib", }
github package로 배포될시, 자동으로 org prefix가 붙기 때문에 붙혀주지 않아야 한다고 오해했다.
@org/@org/my-lib 형태로 사용될것만 같았다. .. . .(실제로 깃헙 패키지를 빠르게 사용해 본 분의 말을 들었을때 이렇게 배포되었다고 한다.)
@org/@org/my-lib
하지만 공식문서를 보면 명시적으로 .npmrc를 생성하고 name에도 org prefix를 붙일것 을 말하고 있다.
.npmrc
이 이슈때문에 cli사용 안되는 이슈가 꽤 많았을 것으로 예상된다..
사실, 실제로 @org/@org/my-lib 형태로 배포되는 것을 눈으로 확인했었다. 이때는 매우 초기때라서......사실 버그가 아니었나........생각이된다...
Description
GitHub을 이용해서 npm package를 관리할 수 있는 기능이 오픈되었다. (2019.12.2 기준 아직 Beta) 이 과정에서 몇 가지 알게 된점과 삽질기는 다음과 같다.
cli를 사용할 수 있는 이유
npx create-react-app my-app
으로 라이브러리를 사용할 수 있는 이유가 무엇일까? 바로 CRA의package.json
에 있는bin
이라는 속성 덕분이다.이렇게 명시할시,
usr/local/bin
경로에 파일이 추가된다. 터미널에 명령어 입력시 어떤 파일을 실행해야 하는지에 대한 것이다.이 구문은, create-react-app으로 명령어 실행시
->
가 가리키는 파일을 실행하겠다는 것이다. node 환경에서 실행되어야 하므로 저 파일의 상단에는 꼭 다음과 같은 설정이 명시되어야 한다.#!/usr/bin/env node
실제로 CRA의 코드를 살펴보면 확인할 수 있다.
삽질
배포하려고 하는 package name에 org prefix를 붙이지 않았다.
github package로 배포될시, 자동으로 org prefix가 붙기 때문에 붙혀주지 않아야 한다고 오해했다.
하지만 공식문서를 보면 명시적으로
.npmrc
를 생성하고 name에도 org prefix를 붙일것 을 말하고 있다.정리
사실, 실제로
@org/@org/my-lib
형태로 배포되는 것을 눈으로 확인했었다. 이때는 매우 초기때라서......사실 버그가 아니었나........생각이된다...