发布后 npm 模块丢失文件
npm module missing files after publish
作为参考,回购是 https://github.com/microsoftly/luis-response-builder。
节点模块文件是用tsc生成的,输出到dist文件夹。我有一个 prepublishOnly 步骤删除 dist 文件夹,运行 tsc,然后针对转译后的 js 运行测试。当我发布时测试通过。
问题是,当我在其他地方安装项目时,dist 文件夹只包含路径为 dist/src/index.js.
的文件
我一辈子都弄不明白为什么文件在安装时丢失但在发布时却没有。
查看 package.json documentation about files
。
由于您没有包含 files
键,它只会包含 main
中指定的文件(以及其他一些默认文件)。
files
值是一个数组,因此您可以包含多个文件 and/or 个文件夹。
例如:
files: [
"dist",
"config/somefile.js"
]
All files in the package directory are included if no local .gitignore
or .npmignore
file exists. If both files exist and a file is ignored by .gitignore
but not by .npmignore
then it will be included.
您的存储库 .gitignore
file 包含以下内容:
node_modules
dist
*.env
yarn-error.log
由于 dist
被忽略,根据文档,它不会与 npm publish
一起提交。
作为参考,回购是 https://github.com/microsoftly/luis-response-builder。
节点模块文件是用tsc生成的,输出到dist文件夹。我有一个 prepublishOnly 步骤删除 dist 文件夹,运行 tsc,然后针对转译后的 js 运行测试。当我发布时测试通过。
问题是,当我在其他地方安装项目时,dist 文件夹只包含路径为 dist/src/index.js.
的文件我一辈子都弄不明白为什么文件在安装时丢失但在发布时却没有。
查看 package.json documentation about files
。
由于您没有包含 files
键,它只会包含 main
中指定的文件(以及其他一些默认文件)。
files
值是一个数组,因此您可以包含多个文件 and/or 个文件夹。
例如:
files: [
"dist",
"config/somefile.js"
]
All files in the package directory are included if no local
.gitignore
or.npmignore
file exists. If both files exist and a file is ignored by.gitignore
but not by.npmignore
then it will be included.
您的存储库 .gitignore
file 包含以下内容:
node_modules
dist
*.env
yarn-error.log
由于 dist
被忽略,根据文档,它不会与 npm publish
一起提交。