提问者:小点点

如何发布带有分发文件的npm包?


我想发布一个npm包,它包含我的源代码以及分发文件。我的Github存储库包含src文件夹,其中包含JavaScript源文件。生成过程生成包含分发文件的dist文件夹。当然,dist文件夹不会签入Github存储库。

我如何发布npm包,这样当某人执行npm Install时,他们会得到srcdist文件夹?当前,当我从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": {
    ...
  }
}

共2个答案

匿名用户

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

从文档中可以看到:

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

匿名用户

npm发布时,如果没有.npmignore文件,npm将使用.gitignore文件(在您的情况下,排除了dist文件夹)。

要解决问题,请基于.gitignore文件创建.npmignore文件,而不忽略dist文件夹。

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