2

作为参考,repo 是https://github.com/microsoftly/luis-response-builder

节点模块文件使用 tsc 生成并输出到 dist 文件夹。我有一个 prepublishOnly 步骤,它删除 dist 文件夹,运行 tsc,然后针对转译的 js 运行测试。当我发布得很好时,测试通过了。

问题是,当我在其他任何地方安装项目时,dist 文件夹只包含路径为 dist/src/index.js 的文件。

我一生都无法弄清楚为什么文件在安装时丢失,但在发布时却没有。

4

2 回答 2

5

引用npm-publish 文档

.gitignore如果不存在本地或文件,则包含包目录中的所有文件.npmignore。如果两个文件都存在并且一个文件被忽略.gitignore但不被忽略,.npmignore那么它将被包括在内。

您的存储库.gitignore文件包含以下内容:

node_modules
dist
*.env
yarn-error.log

根据文档,由于dist被忽略,因此它不会与 一起提交。npm publish

于 2017-07-26T16:06:37.110 回答
2

查看有关files.

由于您没有包含files密钥,它只会包含 中指定的文件main(以及其他一些默认文件)。

files值是一个数组,因此您可以包含多个文件和/或文件夹。

例如:

files: [
  "dist",
  "config/somefile.js"
]
于 2017-07-26T15:59:18.373 回答