繁体   English   中英

使用TypeScript将Node CLI部署到NPM

[英]Deploying a Node CLI to NPM, built with TypeScript

我在将Node CLI工具部署到NPM时遇到了一些麻烦。 我能够毫无问题地开发和测试该工具。 我什至可以在npm link上运行npm link ,它可以按预期工作。

我可以成功发布和下载程序包,但是当我运行该工具时,应用程序崩溃并显示以下消息:

在检查了软件包的安装位置之后,我注意到/Commands内部的文件没有被TypeScript编译。 而是,仅有的文件是.ts.d.ts文件。

我不确定为什么TypeScript没有建立.js文件,它可以在我的机器上完成而没有问题。 即使是Index.ts文件被transpiled到Index.js

如果很重要,我将使用importexport导出模块ESModules。

TSConfig文件: https : //github.com/SammyIsra/ChecklistChecker/blob/master/tsconfig.json我相信它是tsc init的默认文件,做了一些小改动。

到仓库的链接在这里: https : //github.com/SammyIsra/ChecklistChecker

感谢您的帮助!

我最终意识到问题出在我的TypeScript配置和NPM配置上。

在TypeScript( tsconfig.json文件)一侧:

  • 首先,我将outDirrootDir为分离工作文件和编译文件。
  • 其次,我确保我的模块类型是commonjs

在NPM( package.json )端:

  • 我将main设置为指向./outDir/Index.jstypes./outDir/Index.d.ts
  • 我设置了一个prepare脚本,可以重新编译TS文件。 基本上,使其运行tsc -p ./tsconfig.json
  • 最后,我制作了一个.npmignore文件,其中仅包括所有TS文件所在的dev文件夹。

您可以在此处阅读有关如何准备TS以与Node一起使用的信息。

您可以在此处阅读有关.npmignore部分和在此处了解npm prepare部分。

最后,你可以找到在这里我的GitHub上的问题,我试图跟上最新与我的发现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM