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

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

我如何发布一个npm包,当有人做npm install ,他们会得到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": { ... } } 

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

从文档:

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

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

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

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