dou*_*ald 3 javascript node.js npm typescript
我正在尝试将软件包发布到,npm并且由于某种原因,.js我在其中定义的package.json不包含在软件包中。我的项目已经写好,typescript然后通过以下npm脚本进行转换...
"prepublishOnly": "tsc -p ./ --outDir dist/"
Run Code Online (Sandbox Code Playgroud)
哪个可以dist/app.js在本地正确输出我期望的文件。然后我做一个npm publish和readme.md和其他一些文件发布,但不是app.js我希望是。它package.json具有主要设置,dist/app.js所以我在这里想念什么?
这是我发布的第一个npm软件包,因此可能很愚蠢,很乐意尝试任何想法。
该问题最有可能是因为您有一个.gitignore文件,如果未.npmignore找到文件,npm会将其视为后备。我猜您正在遇到上述问题,也许忽略/dist了源代码控制?
如果没有.npmignore文件,但是有.gitignore文件,则npm将忽略与.gitignore文件匹配的内容
main 实际上不会决定要打包的内容...
主要字段是模块ID,它是程序的主要入口点。也就是说,如果您的程序包名为foo,并且用户安装了该程序包,然后执行了require(“ foo”),则将返回主模块的导出对象。
此外,打包文件可以通过 files
"files": ["dist/app.js", "/and/others/"]
Run Code Online (Sandbox Code Playgroud)
最后,如果您浏览npm / issues / 3571,则可以通过简单地添加一个空.npmignore文件来解决此问题。
如果要包括
.gitignore文件中排除的内容,则可以创建一个空.npmignore文件来覆盖它。
专家提示 -您可以在npm pack本地运行,这将执行发布的所有生命周期挂钩,并.tgz像从npm中获取软件包一样为您提供软件包。您可以将其解压缩以检查内容。我发现这种超级实用程序在很多情况下都可以用来模拟发布而实际上却没有这样做。
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |