我想发布一个npm包,它包含我的源代码以及分发文件。我的Github存储库包含src
文件夹,其中包含JavaScript源文件。生成过程生成包含分发文件的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文件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