如何使用分发文件发布npm包?

问题描述 投票:85回答:2

我想发布一个包含我的源代码和分发文件的npm包。我的Github存储库包含src文件夹,其中包含JavaScript源文件。构建过程生成包含分发文件的dist文件夹。当然,dist文件夹未检入Github存储库。

如何以某人npm install的方式发布npm包,他们获得src以及dist文件夹?目前,当我从我的git存储库运行npm publish时,它只会导致src文件夹被发布。

我的package.json看起来像这样:

{
  "name": "join-js",
  "version": "0.0.1",
  "homepage": "https://github.com/archfirst/joinjs",
  "repository": {
    "type": "git",
    "url": "https://github.com/archfirst/joinjs.git"
  },
  "main": "dist/index.js",
  "scripts": {
    "test": "gulp",
    "build": "gulp build",
    "prepublish": "npm run build"
  },
  "dependencies": {
    ...
  },
  "devDependencies": {
    ...
  }
}
node.js git github npm
2个回答
71
投票

看一下package.json文件https://docs.npmjs.com/files/package.json#files的“files”字段

从文档:

“files”字段是要包含在项目中的文件数组。如果您在数组中命名文件夹,那么它还将包含该文件夹中的文件。 (除非他们会被另一条规则忽略。)


125
投票

当你npm publish,如果你没有.npmignore文件,npm将使用你的.gitignore文件(在你的情况下你排除了dist文件夹)。

要解决您的问题,请根据您的.npmignore文件创建一个.gitignore文件,而不要忽略dist文件夹。

Soure:https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package

© www.soinside.com 2019 - 2024. All rights reserved.