我把我的代码库换成了 typescript 。它在数百个文件中大约有10万行代码。
以前我用ESLint --fix --cache的启动时间是2秒,现在用Typescript(ts-node)的启动时间是25秒(20秒只适用于typescript)。
项目仅为后端。
25秒是一种无法接受的速度。这是正常的吗?我试图删除我能找到的每个动态要求,但仍然没有帮助。会不会是某个大文件占用了太长的时间?我怎么知道什么占用了这么长的时间?
我把我的代码库换成了 typescript 。它在数百个文件中大约有10万行代码。
以前我用ESLint --fix --cache的启动时间是2秒,现在用Typescript(ts-node)的启动时间是25秒(20秒只适用于typescript)。
项目仅为后端。
25秒是一种无法接受的速度。这是正常的吗?我试图删除我能找到的每个动态要求,但仍然没有帮助。会不会是某个大文件占用了太长的时间?我怎么知道什么占用了这么长的时间?
2条答案
按热度按时间njthzxwz1#
你不需要用ts-node运行生产版本,它只是在运行中传输你的代码。你可以简单地检查它,运行ts-node并粘贴一些代码,然后尝试查看运行时代码的源代码。编译级别和其他配置也在你的tsconfig文件中起作用。
因此,当您运行项目时,它:
因为这是一个解释过程,所以你的时间会一直持续到(require -〉typecheck -〉transpile -〉run -〉repeat),直到你的所有代码都被执行。
ifsvaxew2#
两种解决方案仅适用于开发环境
tsc --watch
,它将根据文件更改进行重建,并且速度非常快,因为它只重建更改的文件或
ts-node-dev
。它是ts-node和nodemon或pm2的混合。因此,它会在文件更改时重新编译并重新启动服务器。