Trouble Shooting

cvs 폴더 인식되지 않는 이슈

유댕2 2021. 11. 9. 16:29

☘️ 이슈

웹뷰 편의점택배폴더가 cvs로 되어있어야 하는데 cvc로 오타가 나있다. 그 이유는 이전에 cvc에서 cvs로 변경했을때 젠킨스에게 인식이 되지 않는다고 한다.

폴더명을 변경 후, 로컬에서 띄웠을땐 정상적으로 작동한다. 알파로 띄웠을 경우에 아래와 같이 404페이지가 나타난다.

☘️ 원인 파악

  1. 로컬과 알파가 다른 결과를 내었을때 패키징된 파일을 비교
    a. 헬로마켓 레포들이 들어있는 폴더에 프로젝트 폴더(test) 생성
    b. npm config 명령을 통해 Proxy 설정
    // npm config set registry <registry url>
    npm config set registry "http://repo.hellomarket.com/repository/npm-public/"​

    c. npm pack 명령을 통해 실제 파일들 확인
    이 명령어로 제대로 된 파일들을 배포할지 확인할 수 있다. npm pack을 실행하면 prepublish를 실행시키고, npmignore에 들어있는 파일들이 빠진 파일들이 {라이브러리 이름}-{버젼}.tgz 라는 이름의 압축파일이 만들어진다.
    npm pack hellomarket-web-webview@latest​

      d. 파일 존재 여부 비교

 

2. 이 과정으로 cvs폴더가 존재하지 않다는 사실을 발견

3. 그럼 빌드&패키징할때 무슨 문제가 생겼나를 고민

4. 빌드&패키징시에 무슨 문제가 생겼는지 확인

👉 패키징할때 cvs 폴더나 cvs 이름의 파일은 패키징이 안되는 문제

우리가 사용하는 git같은 버전 관리 툴인 svn, cvs가 많이 쓰이는데 이 3가지 버전관리 폴더들은 패키징에 포함안되게끔 되어 있기에, 우리의 편의점 택배 폴더인 cvs가 패키징이 되지 않는 문제였다.

☘️ 문제 해결

참고: [NodeJS] 모두 알지만 모두 모르는 package.json

 

[NodeJS] 모두 알지만 모두 모르는 package.json

이 글은 npm 의 https://docs.npmjs.com/files/package.json 을 번역한 글이며, 의역이 풍성하게 있습니다. 또 필요한 부분에는 이해를 돕기 위한 설명을 역자주 형태로 좀더 추가했습니다. node.js 컨퍼런스에

programmingsummaries.tistory.com

package.json에서 files항목은 프로젝트에 포함된 파일의 배열이다. 폴더 이름을 지정하면 폴더 안의 파일도 포함된다. 일부 파일들은 항상 무시되는데 이 리스트중에 .git등은 항상 무시되도록 되어있다.

우선 *로 모든 파일을 패키징에 포함한 후, 포함되지 않았으면 하는 파일들을 !연산자로 블랙리스트로 추가 해준다. ( *만으로 모든 파일을 패키징에 포함 시켜줄 수 있지만, 그렇게 된다면 .git이나 node_module같은 파일들까지 패키징이 되어버린다. 이 파일들은 실제 서비스 운영과는 전혀관계가 없는 내용이고 용량까지 매우 크기 때문에 배포할 필요가 없다. )

 

package.json

"files": [
    "*",
    "!node_modules",
    "!.next",
    "!log",
    "!.DS_Store",
    "!.history",
    "!.idea",
    "!.github",
    "!.git",
    "!.gitignore",
    "!package.json.nxDeployBackup"
  ],

 

 

참고: OKKY | 리액트 프로젝트 배포후에 새로고침시 404 에러 뜨는이유가 궁금합니다 ㅜ

 

OKKY | 리액트 프로젝트 배포후에 새로고침시 404 에러 뜨는이유가 궁금합니다 ㅜ

안녕하세요~ node.js react 프로젝트를 배포했는데, localhost로 작업시엔 문제없었는데 서버에 배포하고나서는 react router 경로를 다이렉트로 주소창에 입력하거나, 이동후에 새로고침시에 404에러가

okky.kr