정확히 무엇을 넣어야 .npmignore
합니까?
테스트? 물건처럼 .travis.yml
, .jshintrc
? 모듈을 실행할 때 필요하지 않은 것이 있습니까 (readme 제외)?
이에 대한 지침을 찾을 수 없습니다.
정확히 무엇을 넣어야 .npmignore
합니까?
테스트? 물건처럼 .travis.yml
, .jshintrc
? 모듈을 실행할 때 필요하지 않은 것이 있습니까 (readme 제외)?
이에 대한 지침을 찾을 수 없습니다.
답변:
아마 알다시피, NPM은 거기에 들어가야 할 것을 구체적으로 명시하지 않고 기본적으로 무시되는 파일 목록을 가지고 있습니다 . 존재하지 않는 경우 기본적 으로 모든 .gitignore
것이 무시 되므로 많은 사람들이 사용 하지 않습니다. 또한 설정에 관계없이 기본적으로 많은 파일이 이미 무시되고 위 링크에 설명 된대로 일부 파일은 항상 무시되지 않습니다.npm
.npmignore
기본적으로의 하위 집합이기 때문에 항상 있어야하는 것에 대한 공식적인 내용은 많지 .gitignore
않지만 5 년 동안 노드를 사용하여 수집 한 내용은 다음과 같습니다.
참고 : 프로덕션 이란 모듈 자체에서 개발하지 않고 누군가가 모듈을 사용하는 경우를 의미합니다.
.coffee
패키지에 파일을 포함하지 않고 git 저장소에서 계속 추적 할 수 있습니다.node-gyp
은 빌드 중에 생성되는 개체 파일이 패키지에 들어가면 안됩니다..gitignore
어쨌든 항상 들어가야 합니다. npm의 관점에서 .npmignore
덮어 쓰기 때문에 이미 파일을 사용하고 있다면 여기에 이러한 것들을 넣어야합니다 .gitignore
..travis.yml
코드를 사용하여 테스트, 또는 볼 필요가 없습니다.CNAME
파일 또는 자리 표시 자로 릴리스를 흩뿌 릴 필요가 없습니다 .index.html
gh-pages
npm install
npm에만 의존하고 다른 외부 소스는 사용하지 않아야합니다.기본적으로 npm 패키지에서 보관하고 싶은 것이 있지만 npm 저장소에서는 보관하지 않으려는 경우 사용해야합니다. 긴 항목 목록은 아니지만 npm은 사람들이 패키지에 관련없는 개체를 고수하는 것보다 기능을 구축하는 것이 좋습니다.
나는 lante의 짧고 통사적인 대답 과 SamT의 큰 대답에 동의합니다 .
그 답변에 대한 나의 기여 :
.npmignore 는 패키지 파일 선택을위한 블랙리스트 방법입니다. 그러나보다 실용적인 방법으로 package.json 의 파일 필드 를 사용 하여 패키지에 포함해야하는 파일을 허용 목록에 추가 할 수 있습니다 .
{
"files": [
"lib/",
"index.js"
]
}
나는 그것이 더 간단하고 미래의 증거라고 생각하며 더 나은 의미를 가지고 있습니다.)
npm test
모든 node_module 에서 재귀 를 수행 하면 특정 환경에서 무언가 다르게 작동하는지 힌트를 얻을 수 있습니다.
.npmignore
. files: ["lib", "!lib/**/*.test.js"]
. :)
그냥 언제 누군가가 할, 명확하게 npm install your-library
, NPM은 당신이 당신에 포함하도록 파일을 제외하고는 REPO에 포함되어있는 모든 소스 파일을 다운로드합니다 .npmignore
.
라이브러리를 설치하는 사람들은 라이브러리를 실행하기 만하면되며 다른 것은 필요하지 않습니다.
예를 들어, 누군가가 라이브러리를 설치하면 아마도 그 / 그녀는 당신 .travis.yml
이나 당신의 .jshintrc
파일, 심지어 일부 이미지, Grunt 파일, 문서 등에 대해 신경 쓰지 않을 것입니다 .
.npmignore
npm 패키지에 파일 수를 줄이고 다운로드 속도를 높일 수 있습니다.
.npmignore
직접적인 영향을주지 않으며 npm 게시 및 업로드 시 패키지에 들어가는 항목에 영향을줍니다 . 이렇게하면 다운로드 할 더 작은 파일이 간접적으로 생성됩니다.
테스트를 포함하지 마십시오. 종종 테스트는 실제 코드베이스 크기의 5 배와 같습니다. 테스트가 Github 등에있는 한 충분합니다.
그러나 반드시해야 할 일은 게시 된 형식으로 NPM 패키지 를 테스트하는 것 입니다 . 실제 코드베이스에 있지만 테스트 스위트의 일부가 아닌 스모크 테스트를 만듭니다.
패키지를 tarballing 한 후 테스트하는 방법은 https://github.com/ORESoftware/r2g 에서 읽을 수 있습니다.
npm install yourlibrary
예를 들어,.travis.yml
와.jshintrc