npm发布.gitignored文件

时间:2017-04-06 17:41:06

标签: npm gitignore npm-publish

情况如下

我有.gitignore个文件:

node_modules
npm-debug.log
/index.js # this is a build output, I don't want it in the repo

package.json文件(只是相关部分):

{
  "main": "index.js",
  "files": [
    "index.js", // however I want this in the npm package
    "readme.md",
    "package.json"
  ],
  "scripts": {
    "build": "rollup -c rollup.config.js", // this builds index.js ...
    "lint": "eslint **/*.js --config .eslintrc",
    "test": "jest --no-cache",
    "prepublish": "npm run lint && npm test && npm run build" // ...before publishing
  }
}

当我发布第一版时,index.js被省略,只有readme.mdpackage.json被正确发布。我唯一可以假设的是.gitignore会导致这种情况,因为根据文档.gitignore替换.npmignore如果后者不存在(或者2可能一起使用,不知道)

那么有没有办法在git repo中没有该文件,但是在npm包中有它?

1 个答案:

答案 0 :(得分:1)

通过添加.npmignore文件来管理解决此问题:

# all the crap that's not neccessary for the npm module to work
node_modules
src
test
.babelrc
.eslintignore
.eslintrc
.gitignore
.npmignore
.travis.yml
rollup.config.js

完全从files删除package.json属性。