我偶然发现可以在 javascript 中向 Error 构造函数添加原因。
但是,当我尝试使用此功能时,我的应用程序无法启动,因为它不知道这个“新”构造函数参数。
> tsc && node dist/index.js
promo/promo-service/am-promo-request-handler.ts:43:104 - error TS2554: Expected 0-1 arguments, but got 2.
43 throw new Error(`Can't read Maxmind GeoLite2 City db from mmdb file '${config.pathMmdbCity}'`, { cause: err});
Found 1 error in promo/promo-service/am-promo-request-handler.ts:43
Run Code Online (Sandbox Code Playgroud)
以下所有命令均因上述编译错误而停止
nodemon
tsc && node dist/index.js
ts-node index.ts
Run Code Online (Sandbox Code Playgroud)
我将以下脚本添加到我的 package.json 中(确保询问正确的节点实例和其他工具的版本)
"check": "nodemon -v && node -v && tsc -v && ts-node -v && npm -v"
Run Code Online (Sandbox Code Playgroud)
它返回
2.0.19
v16.14.2
Version 4.7.4
v10.9.1
8.17.0
Run Code Online (Sandbox Code Playgroud)
该功能应该从节点版本 10.9.0 …