![](/img/trans.png)
[英]Deploying a Full Stack Node app npm / package.json architecture
[英]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
。
如果很重要,我将使用import
和export
导出模块ESModules。
TSConfig文件: https : //github.com/SammyIsra/ChecklistChecker/blob/master/tsconfig.json我相信它是tsc init
的默认文件,做了一些小改动。
到仓库的链接在这里: https : //github.com/SammyIsra/ChecklistChecker
感谢您的帮助!
我最终意识到问题出在我的TypeScript配置和NPM配置上。
在TypeScript( tsconfig.json
文件)一侧:
outDir
和rootDir
为分离工作文件和编译文件。 commonjs
在NPM( package.json
)端:
main
设置为指向./outDir/Index.js
, types
为./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.